协议宏串行通信 陈建瓴
一 、 串行通信基础知识 (一)基本概念 1.并行传输&串行传输 主要适用于长距离、低速率的通信中 …0 1 0 0 1 … B A A B (一)基本概念 1.并行传输&串行传输 …0 1 0 0 1 … A B 主要适用于长距离、低速率的通信中 1 ┋ A B
2.单工、半双工、全双工(i) 发送装置 接受装置 数据流向 单工 半双工 发送装置 接受装置 数据流向1 数据流向2
2.单工、半双工、全双工(ii) 接受装置 发送装置 数据流向1 数据流向2 全双工
(二)串行通信基本标准 1.RS232C串行通信接口 DCD FG RXD SD TXD RD DTR RS GND CS IBM9针RS232口 OMRON PLC 9针RS232口 DCD RXD TXD DTR GND FG SD RD RS CS DSR RTS CTS RI 5V DR ER SG
RS232C通信接线示意图 电脑(9针) OMRON PLC(9针) DCD 1 RXD 2 TXD 3 DTR 4 GND 5 DSR 6 RTS 7 CTS 8 CI 9 FG 1 SD 2 RD 3 RS 4 CS 5 5V 6 DR 7 ER 8 SG 9
发 收 收 发 2.RS422串行通信接口 A B A B OMRON PLC 通信设备 A B 1 SDA- 2 SDB+ 6 RDA- 8 RDB+ SDA- SDB+ RDA- RDB+ A B 收 发
发 收 3.RS485串行通信接口 A B A B OMRON PLC 通信设备 使能 1/6 T/R(-) T/R(-)
协议宏通信 概念:协议宏通信是用来控制PLC和有RS232口或RS422/485口的第三方设备进行数据交换的一种通信方式。 有RS-232C口的设备 RS-232C口 带有RS-422/485口的通信设备 RS-422/485口 在知道从站协议的情况下,用CX-Protocol软件编写协议,灌到PLC支持协议宏的通信板或通信单元中,用PMCR指令调用协议宏,开始和从站通信。
支持协议宏通信板: PLC类型 串行通信板 规格 数量 CQM1H-CPU51/61才能安装 PLC类型 串行通信板 规格 数量 CQM1H CQM1H-SCB41 RS232+RS422/485 1 C200Ha C200HW-COM04 C200HW-COM05 C200HW-COM06 RS232+总线接口 RS232x2 RS422/485+RS232 CJ1 CJ1W-SCU21-V1 CJ1W-SCU41-V1 16 CS1 CS1W-SCB21-V1 CS1W-SCB41-V1 CS1W-SCU21-V1 C200Ha-CPU11以上才能安装 协议宏支持软件:CX-Protocol V1.6 WS02-PSTC1-E 或 CX-ONE(CX-Protocol集成在内) V1.1 CXONE-AL01C-E
系统设定: 提示: 1.通信板1口,2口的设置可以用手持编程 器在相应DM区进行设定。 2.也可以使用CX-P软件在设置里进行设 置。 3.也可以用CX-Protocol软件进行端口的通 信设置。
对于有关命令,参数,结束码的内容,可以参阅有关编程手册的HostLink通信协议。 HostLink通信协议:上位机链接通信是通过在上位机和PLC间交换命令和应答实现的。使用的是OMRON的HOSTLINK协议,在一次交换中传输的命令或应答数据称为一帧,一帧最多可包含131个数据字符。 PLC到上位机 上位机到PLC 节点号 00-31 命令码 XX 正文 起始符 @ FCS校验码 终止符 *↙ 命令格式 响应格式 结束码 对于有关命令,参数,结束码的内容,可以参阅有关编程手册的HostLink通信协议。
协议宏执行两个功能: 1。创建通信帧格式(报文格式) 2。创建发送和接收的通信步骤
内嵌入硬件和软件中,可直接使用;也可修改后使用。 1。标准系统协议 内嵌入硬件和软件中,可直接使用;也可修改后使用。 2。创建 新的协议
标准系统协议 数字温控器 E5_K, ES100_ 温控器 E5ZE,E5_J 智能信号处理器 K3T_ 条形码阅读器 V500/V520 激光测微器 3Z4L 视觉检测器 F200/F300/F350 ID控制器:V600/V620 Hayes Modem AT指令 Compoway/F控制协议的设备(OMRON元器件协议)
通信序列:对于外场串行设备的通信过程。可创建1000个序列。 步:在一个通信序列下,对外场设备的发送/接收。一个通信序列可创建16步。 协议宏几个定义 通信序列:对于外场串行设备的通信过程。可创建1000个序列。 步:在一个通信序列下,对外场设备的发送/接收。一个通信序列可创建16步。 报文:发送或接收的报文格式(帧格式)。
传输控制: 链接字: 通信序列的参数(一) RTS/CTS流控制:硬件 XON/XOFF流控制:软件11hex/13hex Contention 控制:在点对点Contention控制中获得正确发送 Delimiter控制:通过分隔符把数据分成若干帧。 Modem控制:DTR信号的控制 链接字: 在PLC和通信板/单元之间共享的字设定 I1/O1、I2/O2。IN:接收数据存储;OUT:发送数据存储
监视时间:SEND&RECV过程监控时间 通信序列的参数(二) 监视时间:SEND&RECV过程监控时间 接收等待监视时间Tr: 从步的接收命令确认到第一个字节接收时的时间 接收完成监视时间Tfr:从第一个字节接收到最后一个字节接收完成的时间 发送完成监视时间Tfs:从第一个字节发送到最后一个字节发送完成的时间 发送等待监视时间Ts:从步的发送命令确认到第一个字节发送时的时间 响应方式:定时写接收数据到I/O内存 Scan方式 Interrupt #常数:中断任务号/子程序号 Interrupt Receive Case #: 自动计算中断任务号/子程序号。步号+Matrix Case号 注:通信单元不支持中断功能
命令: 报文: 步的参数(一) SEND: RECEIVE: SEND&RECEIVE: WAIT:保持步待命并且控制下一过程。(在每一步正常执行过程中不能停止。 FLUSH:清除所有接收缓冲区的数据 OPEN:保持DTR信号即使序列结束之后 CLOSE:DTR信号在MODEM控制下变OFF 报文: SEND MESSAGE RECEIVE MESSAGE MATRIX(在RECV和SEND&RECV)
RETRY : 步的参数(二) REPEAT COUNTER: 重复步的次数(1-255) 用在SEND&RECV通信错误时重复命令(0-9) SEND WAIT TIME: SEND,SEND&RECV在发送数据之前的等待时间。 RESPONSE: 是否把接收数据写入内存 NEXT PROCESS: 当前步正常完成,下一步或结束序列 ERROR PROCESS: 当前步出现错误,下一步或结束序列
报文格式 HEADER: ADDRESS: LENGTH:自动计算报文长度 TERMINATOR: CHECK CODE: DATA:
CHECK CODE LRC:纵向冗余校验 XOR运算(每个字符), HOST LINK LRC2:LRC的结果取2进制补码 SUM:逻辑加运算 SUM1:SUM结果取反 SUM2:SUM结果取2进制补码 CRC:循环冗余校验 位串(多项式),通过固定常数除多项式,然后取余 CRC-CCITT: X16+X12+X5+1,SYSMAC LINK CRC-16: X16+X12+X2+1 , MODBUS RTU
常量和变量 常量形式 code ASCII字符 HEX 变量形式 转换成ASCII 转换成HEX 无转换
C1: C2: 协议宏执行序列号 CJ1/CS1 指令设定 PMCR #1000 (C1) #0000 (C2) D0000 (S) 15 12 11 08 07 04 03 00 C1: 通信板:E1 通信单元:单元号+10 端口A: 1 端口B: 2 逻辑端口(0-7) 通信口使能位标志 协议宏执行位 A202.00-202.07: 对应逻辑口0-7 PMCR #1000 (C1) #0000 (C2) D0000 (S) D0100 (D) 板口1:1909.15 板口2:1919.15 单元口1:(n+9).15 单元口2:(n+19).15 (n=1500+25x单元号) 启动位 C2: 协议宏执行序列号 发送字节的首字 接受字节的首字 CJ1/CS1 指令设定
(R(1),2) (W(1), 2) 变量定义(一) 发送字节数 1: PMCR S操作数的S+1通道开始 R: 读(SEND) 接收字节数 *: 全部接收 1: PMCR R操作数的R+1通道开始 W: 写(RECV)
N: REPEAT COUNTER(重复步的次数) 变量定义(二) (R(D0000),2) (R(yN+X),2) (W(I1), 2) 直接定义PLC内存区 N: REPEAT COUNTER(重复步的次数) I1/O1:链接字 I2/O2:链接字
~(R(1),2) &(W(1), 2) $(W(1), 2) &~, $~ 变量定义(三) 数据传送次序相反 数据转换成HEX 数据转换成ASCII字符
变量定义(四) (R(D0000),3) ~(R(D0000),3) $(R(D0000),6) $~(R(D0000),6) &(R(D0000),3) &~(R(D0000),3) (W(D0000),5) ~(W(D0000),5) $(W(D0000),3) $~(W(D0000),3) &(W(D0000),5) &~(W(D0000),5)
变量定义(五) &(W(D0000),6) 负数? 小数点? 0-F之外的字母和字符?
C1: C2: 协议宏执行序列号 CJ1/CS1 指令设定 PMCR #1000 (C1) #0000 (C2) D0000 (S) 15 12 11 08 07 04 03 00 C1: 通信板:E1 通信单元:单元号+10 端口A: 1 端口B: 2 逻辑端口(0-7) 通信口使能位标志 协议宏执行位 A202.00-202.07: 对应逻辑口0-7 PMCR #1000 (C1) #0000 (C2) D0000 (S) D0100 (D) 板口1:1909.15 板口2:1919.15 单元口1:(n+9).15 单元口2:(n+19).15 (n=1500+25x单元号) 启动位 C2: 协议宏执行序列号 发送字节的首字 接受字节的首字 CJ1/CS1 指令设定
协议宏执行位: 在PMCR执行开始时,相关的位变ON; 通信序列结束并且数据送到接收区后,变OFF; 在PMCR执行错误时,一直为OFF。 (用 为了在同一时间内,同一物理口只执行一个通信序列)
实验一 CX-PROTOCOL使用 实验二 标准系统协议调用
情报板报文格式:显示信息按幕存储,一幕一帧,每幕信息包含引入,引出及附加命令和显示内容等。屏内存储幕数为256幕。 实验三 情报板RS232通信(一) 情报板报文格式:显示信息按幕存储,一幕一帧,每幕信息包含引入,引出及附加命令和显示内容等。屏内存储幕数为256幕。 地址 属性 备注 00H 字数 每幕字数=10--20,包括全角、半角 01H 引入 显示信息进入屏的方式 02H 引出 显示信息离开屏的方式 03H 附加 显示信息进入后、离开前的方式 04H 字属性 05H 区号 汉字的国标区号,半角字符则为ASCⅡ码 06H 位号 汉字的国标位号,半角字符则为ASCⅡ码 07H 08H ASCⅡ码 半角字符则为ASCⅡ码 …… 16H 17H
OMRON PLC和情报板的硬件连线 实验三 情报板RS232通信(二) OMRON PLC 情报板 2 SD 2 RD 3 RD 3 SD 9 GND 2 RD 3 SD 5 GND
实验三 情报板RS232通信(三) OMRON PLC和情报板的软件设置 1。波特率、数据位、校验、停止位 两者相同(9600, 8,N,1) 2。PLC 的串口设置成协议宏功能
1。用CX-PROTOCOL写入协议 2。用CX-PROGRAMMER编写PMCR指令 实验三 情报板RS485通信(四) 1。用CX-PROTOCOL写入协议 2。用CX-PROGRAMMER编写PMCR指令
实验四 MODBUS-RTU RS485通信(一) 情报板报文格式:模块作为Modbus-RTU从站接入Modbus-RTU网络,符合标准的Modbus-RTU通信规范。模块支持Modbus-RTU中03、06、16功能码。 OMRON PLC MODBUS-RTU 1/6 - 2/8 + B A
实验四 MODBUS-RTU RS485通信(二) OMRON PLC和MODBUS-RTU的软件设置 1。波特率、数据位、校验、停止位 两者相同(9600, 8,N,2) 2。PLC 的串口设置成协议宏功能
1。用CX-PROTOCOL写入协议 2。用CX-PROGRAMMER编写PMCR指令 实验四 MODBUS-RTU RS485通信(三) 1。用CX-PROTOCOL写入协议 2。用CX-PROGRAMMER编写PMCR指令
谢谢