【工控老马】ABB AC500 系列PLC与WEST 8100+系列仪表的ASCII通讯指南

news/2024/12/13 4:30:04/

一、硬件设置

仪表设定:
在P8100 的组态级(Configuration Mode)中
设置好以下几个参数:
1.通讯协议(Prot):
请改为ASC I (ASC II 通讯协议)
2.通讯速率(bAud):
1.2/2.4/4.8/9.6/19.2kbps 可选,
此处设为19.2kbps
3.设备地址(Addr):
1 – 99 可选,默认为1
4.通讯写入功能(CoEn):
r_o(只读)或r_W(可读可写),默认为r_W

PLC设定:
在CoDeSys软件中的硬件配置页面中将AC500 PLC的COM1端口设置为“ASCII”自由口模式,并设定好以下参数:
1.RTS control: telegram
2.baudrate: 19200
3.parity: even
4.Date bits: 7
5.Stop bits: 1
通讯接线采用485模式接线方式。

二、通讯程序

仪表ASCII方式指令格式:
ASCII通讯协议采用半双工通讯,所有的通讯动作都由上位机开始。上位机给指定地址的控制器发出一命令或要求,控制器对上位机的命令作出应答或发回上位机要求的信息,所有的通讯信息包括以下内容:A)1 位信息起始字符;B)1 位或2 位地址字符;C)1 个命令或数据字符串;D)1 位信息停止字符。
从上位机发出的信息可以是下列4 种形式之一:一类指令:L{N}??*确认从站状态正常返回信息: L{N}?A 表示可用二类指令:L {N} {P} {C}*查询/修改从站的某参数正常返回信息: L{N}{P}{DATA}A*三类指令:L {N} {P} #{DATA}*设置从站的某参数正常返回信息: L{N}{P}{DATA}I*表示:数据和参数有效四类指令:L {N} {P}I *在指令3 之后发送给同一从站, 如果指令3 中的数据和参数有效, 从站收到此指令后执行参数设置。正常返回信息: L{N}{P}{DATA}A*
所有字符皆为ASCII 码,且:
L: 信息开始位;
{N}: 为控制器地址(1—99),1~9 可以用一位或两位(如:7 和07 皆 可);  
{P}: 为参数代码
{C}: 指令
#: 表示接下来为{DATA}
{DATA}:是ASCII 码组成字符串
* : 信息截止字位
{DATA}内容格式如下:

{DATA}内容 小数点及正负
abcd0 +abcd
abcd1 +abc.d
abcd2 +ab.cd
abcd3 +a.bcd
abcd5 -abcd
abcd6 -abc.d
abcd7 -ab.cd
abcd8 -a.bcd

AC500 PLC ASCII指令的收发:
AC500 PLC 在 ASCII 方式下的指令收发是通过ABB ASCII通讯库中的功能块来完成的,功能块具体介绍如下:
  1. COM_REC
    通过一个"自由模式"的串行接口接收数据,高电平触发。

在这里插入图片描述

功能块参数:

在这里插入图片描述

  1. COM_SEND
    通过一个"自由模式"的串行接口发送数据,上升沿触发。
    在这里插入图片描述

    功能块参数:
    在这里插入图片描述

    DATA通过ADR模块可直接连接双字类型的地址(如:%MD0.100),也可以连接STRING类型的内部字符串变量(如后面例子中用到的“send_ascii”)。连接字符串变量时,仪表指令将直接以字符形式输入及显示;连接双子类型的地址时,输入和显示的将是组成仪表指令的字符的16进制代码。

程序实例:
根据仪表命令格式,我们来做一个通过ASCII功能块实现仪表设定值的查询及修改的例子。
首先,通过一个COM_SENG模块来发送设定值查询指令:“L1S?”。其中“S”为仪表设定值的参数代码,其它各参数设置如下图所示,其中“send_ascii”为string类型的内部字符串变量,将指令“L1S?” 赋予变量后,将“%MX1.0.1”置一,指令发出。

![在这里插入图片描述](https://img-blog.csdnimg.cn/427a335cde8745a9ba260e14bfea2b8c.png#pic_center)同时,接收模块“COM_REC”(参数设置如下)将收到仪表应答指令“L1S02771A*”,表示当前设定值为27.7,1位小数。然后通过发送指令“L1S#02341*”修改设定值为23.4。仪表返回指令“L1S02341I*”表示参数和数据没有问题。

再次发送确认指令“L1SI*”确认修改设置。

仪表返回指令“L1S02341A*”表示仪表设定值修改成功。

至此,ABB AC500系列PLC 与WEST 8100+系列仪表的通讯成功实现。

附件
WEST 8100系列仪表的参数代码表
参数 代码 说明
输入参数:
过程值 M 只读参数(二类指令),命令为:L{N}M?*
超量程时{DATA}为<??>0,
欠量程时{DATA}为<??>5。
过程值偏置 V 可以查询(二类指令)、修改(三类/四类指令串);
命令为:L{N}V?,L{N}V#{DATA}/L{N}VI*;
修正输入值,修正的过程值=实际值+过程值偏差,修正的过程值要在量程范围内,可供显示、报警、记录仪输出使用。此参数应小心选择,否则会造成显示的过程值和测量过程值的不一致。
量程上限 G 仅适用于直流线性输入,可用二类指令查询或三/四类指令串修改,小数点位置同输入范围。
命令为:L{N}G?,L{N}G#{DATA}/L{N}GI*。
量程下限 H 仅适用于直流线性输入,可用二类指令查询或三/四类指令串修改,小数点位置同输入范围。
命令为:L{N}H?,L{N}H#{DATA}/L{N}HI*;
输入小数点位置 Q 仅适用于直流线性输入,可用二类指令查询或三/四类指令串修改,确定小数点位置:0=abcd 1=abc.d 2=ab.cd 3=a.bcd。
命令为:L{N}H?,L{N}H#{DATA}/L{N}HI*。
数字滤波时间 m 用二类指令查询或三/四类指令串修改。
命令为:L{N}m?,L{N}m#{DATA}/L{N}mI*
输出参数:
输出功率 W 自动状态时,用二类指令查询;手动状态时,用二类指令查询或三/四类指令串修改。
命令为:L{N}W?,L{N}W#{DATA}/L{N}WI
输出1 功率限幅 B 用二类指令查询或三/四类指令串修改。
命令为:L{N}B?,L{N}B#{DATA}/L{N}BI*
输出1 控制周期 N 用二类指令查询或三/四类指令串修改。
命令为:L{N}N?,L{N}N#{DATA}/L{N}NI*
输出2 控制周期 O 用二类指令查询或三/四类指令串修改。
命令为:L{N}O?,L{N}O#{DATA}/L{N}OI*
变送输出上限 [ 用二类指令查询或三/四类指令串修改,小数点位置与输入一致。
命令为:L{N}[?,L{N}[#{DATA}/L{N}[I*
变送输出下限 \ 用二类指令查询或三/四类指令串修改,小数点位置与输入一致。
命令为:L{N}\?,L{N}#{DATA}/L{N}\I*
设定值参数:
设定值 S 用二类指令查询或三/四类指令串修改,在设定范围内任意取值。
命令为:L{N}S?,L{N}S#{DATA}/L{N}SI*
设定值斜率 ^ 用二类指令查询或三/四类指令串修改,设置范围为1~9999/小时,{DATA}=00000 时为OFF,小数点位置和输入相同。
命令为:L{N}?*,L{N}#{DATA}/L{N}^I
设定值上限 A 用二类指令查询或三/四类指令串修改。出厂值为量程上限。
命令为:L{N}A?,L{N}A#{DATA}/L{N}AI*
设定值下限 T 用二类指令查询或三/四类指令串修改。出厂值为量程下限。
命令为:L{N}T?,L{N}T#{DATA}/L{N}TI*
报警值参数:
报警1 值 C 用二类指令查询或三/四类指令串修改,小数点位置与输入一致。
命令为:L{N}C?,L{N}C#{DATA}/L{N}CI*
报警2 值 E 用二类指令查询或三/四类指令串修改,小数点位置与输入一致。
命令为:L{N}E?,L{N}E#{DATA}/L{N}EI*
控制参数:
微分时间常数 D 用二类指令查询或三/四类指令串修改,格式为:mm.ss。单位为分钟.秒
命令为:L{N}D?,L{N}D#{DATA}/L{N}DI*
积分时间常数 I 用二类指令查询或三/四类指令串修改,格式为:mm.ss。单位为分钟.秒
命令为:L{N}I?,L{N}I#{DATA}/L{N}II*
手动积分 J 用二类指令查询或三/四类指令串修改,小数点位置与输入
一致。
ON/OFF 动作回差 F 用二类指令查询或三/四类指令串修改,1 位小数点。
命令为:L{N}F?,L{N}F#{DATA}/L{N}FI*
死区 K 用二类指令查询或三/四类指令串修改,无小数点。
命令为:L{N}K?,L{N}K#{DATA}/L{N}KI*
比例带1 P 用二类指令查询或三/四类指令串修改,设置范围0.5%~~999.9%或0.0(ON/OFF 动作),1 位小数点。
命令为:L{N}P?,L{N}P#{DATA}/L{N}PI*
比例带2 U 用二类指令查询或三/四类指令串修改,设置范围0.5%~~999.9%或0.0(ON/OFF 动作),1 位小数点。
命令为:L{N}U?,L{N}U#{DATA}/L{N}UI*


http://www.ppmy.cn/news/128828.html

相关文章

解决【appium】The port #8100 is occupied by an other process问题

一、环境&#xff1a; MAC appium iphone 二、报错展示&#xff1a; 三、解决方法&#xff1a; lsof -i tcp:8100 kill port

雷迪9000使用说明_雷迪RD8100PXL操作说明

8k小探棒 用于非金属管线,或者强干扰、大深度电缆的探测 特点: ●适用机型:美国里奇SR-20、英国雷迪RD8000 ●探测深度:15米 ●直径:22mm ●可充电锂电池供 RD8100PDL管线探测仪产品概述: RD8100PDL是RD8000PDL地下管线探测仪的升版本。除了继承了RD8000 系列产品响应速度更快…

snpEFF和bedtools基因注释有何异同?

大家好&#xff0c;我是邓飞&#xff0c;现在写博客越来越繁琐了&#xff0c;每个平台对图片都有自己的规则&#xff0c;不能通用&#xff0c;各种找不到图片&#xff0c;本着充值是我变强的原则&#xff0c;买了Markdown Nice的VIP&#xff08;https://product.mdnice.com/&am…

【计算机视觉】Segment Anything 安装配置及代码测试(含源代码)

文章目录 一、前言二、安装2.1 基本要求2.2 Install Segment Anything 三、代码使用示例3.1 Automatically generating object masks with SAM3.2 Environment Set-up3.3 显示标注3.4 图像示例3.5 Automatic mask generation3.6 Automatic mask generation options 一、前言 目…

哪个牌子的蓝牙耳机好用?质量最好的蓝牙耳机排行榜

蓝牙耳机无非就是音质上的需求&#xff0c;如今市面上的蓝牙耳机参差不齐&#xff0c;蓝牙耳机品牌产品的琳琅满目&#xff0c;耳机之间的价格不一&#xff0c;因此购买蓝牙耳机时是越来越重视性价比了&#xff0c;在这里就分享一些质量好性价比高的蓝牙耳机&#xff0c;希望对…

家用智能洗地机哪个牌子好、洗地机品牌排行榜前十名介绍

洗地机作为目前最火的智能清洁产品&#xff0c;相比常见的清洁工具&#xff0c;它不仅解放了人的双手&#xff0c;同时也保证了清洁的效果。对于那些每天都需要把卫生搞好的人来说&#xff0c;简直就是福音。最近家用洗地机的风这么大&#xff0c;加上市面上的清洁工具种类也越…

分享盒子直播软件.已测试,网络机顶盒看电视直播哪个软件好(最好用的三款免费直播软件分享)...

1、魔力视频TV 魔力视频TV是一款聚合类视频软件&#xff0c;涵盖了直播及点播资源。在直播界面中进入直播状态&#xff0c;可收视卫视地方台网播频道等直播资源。卫视频道基本高清画质&#xff0c;小编随意打开一个频道&#xff0c;体验极佳&#xff0c;播放流畅稳定。如果想切…

网络电视频道

最全的网络电视频道 <Asx Version"3.0"> <Entry> <Title>民视新闻回放台</Title> <Ref href"http://www.wcetv.com/asx/LIB/LIB100352_v5.asx"/> </Entry> <Title>HTC HD 网络电视播放列表</Title>…