410 likes | 605 Views
协议宏串行通信. 陈建瓴. 一 、 串行通信基础知识. … 0 1 0 0 1 …. B. 0 1 ┋ 0 1. B. A. A. 主要适用于 长距离、低速率 的通信中. (一)基本概念 1. 并行传输 & 串行传输. 数据流向. 发送装置. 接受装置. 发送装置. 发送装置. 接受装置. 接受装置. 数据流向 1. 数据流向 2. 2. 单工、半双工、全双工( i ). 单工 半双工. 数据流向 1. 数据流向 2. 发送装置. 发送装置. 接受装置. 接受装置. 全双工.
E N D
协议宏串行通信 陈建瓴
一 、 串行通信基础知识 …0 1 0 0 1 … B 0 1 ┋ 0 1 B A A 主要适用于长距离、低速率的通信中 (一)基本概念1.并行传输&串行传输
数据流向 发送装置 接受装置 发送装置 发送装置 接受装置 接受装置 数据流向1 数据流向2 2.单工、半双工、全双工(i) 单工 半双工
数据流向1 数据流向2 发送装置 发送装置 接受装置 接受装置 全双工 2.单工、半双工、全双工(ii)
(二)串行通信基本标准 1.RS232C串行通信接口 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针)
2.RS422串行通信接口 A B OMRON PLC A B 通信设备 收 发 A B 发 收
A B 收 发 使能 使能 发 收 3.RS485串行通信接口 A B OMRON PLC 通信设备
RS-232C口 有RS-232C口的设备 RS-422/485口 带有RS-422/485口的通信设备 带有RS-422/485口的通信设备 带有RS-422/485口的通信设备 协议宏通信 概念:协议宏通信是用来控制PLC和有RS232口或RS422/485口的第三方设备进行数据交换的一种通信方式。 在知道从站协议的情况下,用CX-Protocol软件编写协议,灌到PLC支持协议宏的通信板或通信单元中,用PMCR指令调用协议宏,开始和从站通信。
支持协议宏通信板: CQM1H-CPU51/61才能安装 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软件进行端口的通 信设置。
上位机到PLC 命令格式 起始符 @ 节点号 00-31 命令码 XX 正文 FCS校验码 终止符 *↙ PLC到上位机 响应格式 起始符 @ 节点号 00-31 命令码 XX 结束码 正文 FCS校验码 终止符 *↙ HOST LINK协议 HostLink通信协议:上位机链接通信是通过在上位机和PLC间交换命令和应答实现的。使用的是OMRON的HOSTLINK协议,在一次交换中传输的命令或应答数据称为一帧,一帧最多可包含131个数据字符。 对于有关命令,参数,结束码的内容,可以参阅有关编程手册的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步。 报文:发送或接收的报文格式(帧格式)。
通信序列的参数(一) • 传输控制: • RTS/CTS流控制:硬件 • XON/XOFF流控制:软件11hex/13hex • Contention 控制:在点对点Contention控制中获得正确发送 • Delimiter控制:通过分隔符把数据分成若干帧。 • Modem控制:DTR信号的控制 • 链接字: • 在PLC和通信板/单元之间共享的字设定 • I1/O1、I2/O2。IN:接收数据存储;OUT:发送数据存储
通信序列的参数(二) • 监视时间: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)
步的参数(二) • REPEAT COUNTER: • 重复步的次数(1-255) • RETRY : • 用在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 • 无转换
15 12 11 08 07 04 03 00 C1: 逻辑端口(0-7) 通信板:E1 通信单元:单元号+10 端口A: 1 端口B: 2 发送字节的首字 接受字节的首字 通信口使能位标志 A202.00-202.07: 对应逻辑口0-7 协议宏执行位 板口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)
变量定义(二) (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之外的字母和字符?
15 12 11 08 07 04 03 00 C1: 逻辑端口(0-7) 通信板:E1 通信单元:单元号+10 端口A: 1 端口B: 2 发送字节的首字 接受字节的首字 通信口使能位标志 A202.00-202.07: 对应逻辑口0-7 协议宏执行位 板口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。(用 为了在同一时间内,同一物理口只执行一个通信序列) 通信口使能位标志:通信使能位变ON; 通信开始并且完成后,变OFF。(用 以使逻辑口只执行一个通信序列)
实验一 CX-PROTOCOL使用 实验二 标准系统协议调用
实验三 情报板RS232通信(一) 情报板报文格式:显示信息按幕存储,一幕一帧,每幕信息包含引入,引出及附加命令和显示内容等。屏内存储幕数为256幕。
实验三 情报板RS232通信(二) OMRON PLC和情报板的硬件连线 OMRON PLC 情报板
实验三 情报板RS232通信(三) OMRON PLC和情报板的软件设置1。波特率、数据位、校验、停止位 两者相同(9600, 8,N,1)2。PLC 的串口设置成协议宏功能
实验三 情报板RS485通信(四) 1。用CX-PROTOCOL写入协议2。用CX-PROGRAMMER编写PMCR指令
实验四 MODBUS-RTU RS485通信(一) 情报板报文格式:模块作为Modbus-RTU从站接入Modbus-RTU网络,符合标准的Modbus-RTU通信规范。模块支持Modbus-RTU中03、06、16功能码。 MODBUS-RTU OMRON PLC
实验四 MODBUS-RTU RS485通信(二) OMRON PLC和MODBUS-RTU的软件设置1。波特率、数据位、校验、停止位 两者相同(9600, 8,N,2)2。PLC 的串口设置成协议宏功能
实验四 MODBUS-RTU RS485通信(三) 1。用CX-PROTOCOL写入协议2。用CX-PROGRAMMER编写PMCR指令