欧姆龙plc串口Fins命令协议通讯演示之欧阳光明创编

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Fins命令+Hostlink协议通讯实验

欧阳光明(2021.03.07)

一、实验配置

硬件:CPU单元:CJ2M-CPU35

RS232串口选件板:CP1W-CIF01

USB转232连接电缆:CS1W-CIF31

软件:CX-Programmer、串口调试助手UartAssist

二、PC主机直连PLC串口命令帧格式介绍

命令格式

响应格式

PC主机直连PLC的情况下,主机发送命令给PLC,发送命令格式如下:(P54)

@:Hostlink协议起始代码

Unit No.:单元号,对应PLC内置串口或串行通讯单元设置的Hostlink单元号。

Header code:在PC主机直连PLC的情况下,头代码为FA Response wait time:设置范围为0~F,单位为10ms,例如设置为2,则响应等待时间为20ms

ICF、DA2、SA2:在PC主机直连PLC的情况下,固定为00。SID:通常设置为00

Fins command code:参考Fins通讯手册P125

读命令:0101

写命令:0102

Text:具体操作内容,读写区域、读取起始地址、数据长度等内容存储区代码:(参考Fins通讯手册 P137)

DM(word):82

W(bit):31

W(word):B1

CIO区(bit):30

Tips:使用Fins指令最大可读取538个字节。

一条命令不能超过1114个字符。

三、串口通讯调试实例

实例1——DM数据寄存器区读写实例;

1、读取D0开始1个通道的值

发送命令:@00FA00000000001018200000000017C*↙(回车键)

返回命令码:@00FA004000000001010000123447*↙(回车键)

2、读取D100开始的50个通道

发送命令:@00FA00000000001018200640000327E*↙(回车键)

3、写D200开始的2个通道

发送命令:@00FA00000000001028200C8000002123456780F*↙(回车键)

Header code:在PC主机直连PLC的情况下,头代码为FA Response wait time:设置范围为0~F

ICF、DA2、SA2:在PC主机直连PLC的情况下,固定为00。SID:通常设置为00

Fins command code:参考Fins通讯手册P125

读命令:0101

写命令:0102

DM(word):82

W(bit):31

W(word):B1

CIO区(bit):30

00c8 就是D200地址

00表示通道中的位

0002表示读取2个通道值

响应命令:@00FA00400000000102000040*↙(回车键)

实例2——Wr工作区读写操作

1、读取W10开始的8个通道

发送命令:@00FA0000000000101B1000A0000087D*↙(回车键) 2、写W20开始的5个通道

发送命令:@00FA0000000000102B100140000050001000200030004000506*↙(回车键)

响应命令:@00FA00400000000102000040*↙(回车键)

总结:

由上述例子可得,对于PC主机直连PLC串口的情况下,无论什么存储区,读操作均为0101,写操作为0102,只需将不同存储区的代码更改即可。

建议PC与PLC交换数据时,尽量采用连续的通道(一个字)的形式进行交换。

相关文档
最新文档