一、硬件设置

仪表设定:
在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*

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

  1. 【工控老马】用西门子PLC构成管道压力控制系统

    摘要:系统由压力传感器.压力.可编程控制器.水泵.按钮等组成,编程控制器程序是按照一定顺序开机或停机,保持系统压力相对稳定. 1引言 随着科学技术的发展,世界上各大公司相继生产出许多不同类型的可编程控 ...

  2. 【工控老马】modbus tcp详解

    老马带你详细了解modbus tcp规范 1.该规范的发展概况 该MODBUS/TCP规范在万维网上公开发行.它表明开发者的意愿是把它作为工业自动化领域具有互用性的标准. 既然MODBUS和MODBU ...

  3. 【工控老马】单片机与西门子S7-200通信原理详解

    一. 硬件以及通讯原理分析 西门子S7-200系列PLC拥有RS-485串行口,所以要使MCS51单片机与S7-PLC进行通讯,可以采用几种通讯方式.其中之一就是可以通过MCS-51的串行口与MAX4 ...

  4. 【工控老马】西门子PLC Siemens PLC TCP协议详解

    Siemens PLC TCP 协议详解 说明:蓝色文字表示已经破解部分,[红色文字] 表示对破解部分数字的说明,黑色文字表示对破解部分的进一步说明,黑色斜体加粗文字表示未破解部分,高亮文字部分表示驱 ...

  5. 【工控老马】欧姆龙PLC Socket发送Fins/TCP命令解析

    欧姆龙Socket tool发送Fins/TCP命令 实验设备:CJ2M-CPU33(PLC) 实验目的:发送Fins/TCP命令读写CJ2M-CPU33的数据 实验步骤: 1. 系统概述,硬件搭建和 ...

  6. 【工控老马】电气控制与PLC技术之生产流水线小车控制程序课程设计讲解

    电气控制与PLC技术之生产流水线小车控制程序课程设计讲解 一.设计的基本要求 可编程控制器生产流水线小车控制程序设计要求: 控制要求: 某生产线要求小车执行以下控制: 初始状态下,小车停在行程开关ST ...

  7. 【工控老马】西门子PLC s7-300SCL编程详解

    SCL编程详解 一. 数据类型: 注:还有两种类型:P:POINTER(指针数据类型).A:ANY(任何类型) 数组的定义:M1:ARRAY[n0-m0,n1-m1] OF INT; 二. 寻址 ○1 ...

  8. 【工控老马】micro logix1400进行modbus通讯

    一.plc作为modbus主站 1.实验目的 在实际应用中,不可避免的会遇到通讯,modbus通讯就是日常应用频繁的通讯之一:本实验的目的就是利用micro logix1400的plc进行modbus ...

  9. 【工控老马】ASP问与答40篇

    问:什么是ASP? 答:ASP是Active Server Page的缩写,意为"活动服务器网页".ASP是微软公司开发的代替CGI脚本程序的一种应用,它可以与数据库和其它程序进行 ...

最新文章

  1. xmpp 开源项目选择_如何选择和维护安全的开源项目
  2. 时间:2014年3月27日文件和目录操作函数
  3. Leetcode 70
  4. phpstrom php出现404
  5. JavaWeb:用JDBC操作数据库
  6. DL之随机性:理解和探究采用深度学习算法预测时导致多次运行结果不一致的问题
  7. 一份 2.5k star 的《React 开发思想纲领》
  8. leetcode371. 两整数之和 不用+号做加法
  9. 求解多变量非线性全局最优解_一种求解非线性约束优化全局最优的新方法
  10. Spring Data JPA根据属性名查询
  11. linux远程执行命令
  12. [QT][待解决问题]对话框ui载入卡顿问题
  13. 微服务面试题 - Spring Cloud
  14. grads插值_GrADS中填色标尺cbarn用法
  15. 简单操作去除亿图流程图制作软件(试用版)的水印
  16. Flash Builder 的概要分析
  17. gma 教程 | 气候气象 | 基于 彭曼-蒙提斯法(Penman-Monteith)计算日作物参考蒸散量(ET0)
  18. 工程伦理思考题汇总——张永强主编
  19. 计算机怎么执行程序代码,代码如何运行?
  20. 用Jsoup爬取中国天气网的实时天气(空气质量、温度、相对湿度、降雨量、风力风向)

热门文章

  1. 计算机技术员自我介绍,技术员的自我介绍范文
  2. 1144C C. Two Shuffled Sequences(优先队列和set的应用)
  3. c程序设计语言第五单元,人教版七年级语文下册第五单元复习题
  4. C++实现石头剪刀布
  5. 在OpenCV中使用色彩校正
  6. 【Greenplum走遍全国】济南技术研讨会
  7. 通过添加dns加速访问app store
  8. Enovia文件协作服务器安装,NX与Enovia集成安装配置手册_jimmy.docx
  9. OpenHarmony WLAN HDI 源码学习
  10. php的惰性加载,thinkphp5.0的惰性加载