自由口模式下PLC与计算机的通信.pdf.pdf

所需积分/C币:9 2019-09-23 07:47:55 181KB PDF
7
收藏 收藏
举报

自由口模式下PLC与计算机的通信.pdfpdf,自由口模式下PLC与计算机的通信.pdf
PLC WORLD 设要写入的数据中也有47H,并且数据直接以其原本的形式传输,则PLC会因为接收到了数据中的47H 而停亡接收,这样PLC接收到的指令将是一个不完整的非法拦令,很可能造成PLC的误动作。 为了避凭这种情况的发生,可以用文木来传送二进制数据。通过以16进制AsCH码的格式描运数据, 每个二进制的宁节都可以表示成一对AsC编码,这对编码表示这个字节的两个16进制字符。这种格式 可以表示任何的数值,仅仅使用ASC代码的30H到39H(表示0到9)和41H到46H(表示A到F) Asc码的其余部分可以用作控制字起始标志、结束标志、指令类型等)。这样,数据中的47H以ASCH 码的形式进行传送就变成了34H37H两个字节,从而避免了PLC因接收到数据中的47H而停止接收的错 误 表1上位机指令格式 teo 起始字符 Byte 1 指令类型(读/写) Byte 目标PLC站地址(十六进制AsC码) Byte Byte4 Byte 5 Byte Byte 目标寄存器地址(十六进制ASC‖|码) Bytes Bytes Byte 10 Byte 11 Bvte 12 读/写字节数M(十六进制ASC码) Byte 13 Byte 14 要写入的数据(十六进制ASC鸡) Byte 15 Byte 16 Byte 17 Byte 18 Byte 19 Byte 20 Byte21 Byte22 Byte23 Byte 24 Byte 25 Byte26 Byte27 Byte28 PLC WORLD Byte29 Byte 30 BCC校验码(十六进制ASC码) Bvte 31 Byte 32 结束字符 表2反馈信息格式 Byte 起始字符 Byte 1 状态信息 Byte Byte Byte4 Bytes Bytes Byte Byte Byte 数据区(十六进制ASC码) Byte 10 Byte 11 Byte 12 Byte13 Byte 14 Byte 15 Byte 16 Byte 17 Byte 18 BcC校验码(十六进制ASC!码) Byte 19 Byte 20 结束字符 PLc程序执行过程 PLC在第一次扫描时执行初始化子稈序,对端凵及RCV指令进行初始化。初始化完成后,运行RCV 指令使端口处于接受状态 RcV会将以"g"开头"G"结尾的指令保存到接收缓冲区,并同时产生接收完成中新。 RCVcomplete中断服务程序用来处理接收完成中断事件,它会将接收缓冲区中的十六进制ASCi码还 原成数据并保存,同时置位 Verify子程序的触发条件(Mo.1)。 Verify子程序首先复位木身的触发条 件以防亡子程序被重复调用,然后求岀接收缓冲区中拦令的BcC校验码并与指令中的BCC校验码进行比 对。如果相等灲置BCC码校验正确的标志位(M0.0)为1;如果指令袼式正确(指令的结束标志在接收缓 冲区中特定的位置B133)而BCC码不相等,则发送代表BCC校验码错误的反馈信息;如果指令格式不 正确(VB133中不是指令的结束标志),则返回代表指令格式错误的反馈信息。 Read子程序的触发条件为:指令中的站地址与木机站地址相符、指令类型为读指令、BCC检验码正确。 当条件满尺时,Read子程序被执行。Read子程序首先禁止RCV,然后将指令所要读取的数据转换成十六 进制AsC码并与入发送缓冲区、计算BCC检验码、最后发送反馈信息。 PLC WORLD Write子程序的触发条件为:指令中的站地址与本机站地址相符、指令类型为写指令、BCC检验码正确。 当条件满足时,Wite子稈序被执行。Wrte子稈序首先禁止RCV,然后将拦令中的数据写入目标寄存器, 最后发送代表写入正确的反馈信息。 PLC每接到一条指令后都会发送一条反馈信息,当反馈信息发送完成时,会产生发送完成中新, XMTcomplete中断服务程序用来处理发送完成中断事件。在 XMTcomplete中断报务程序中所要执行的操 作包括:复位BCC校验码正确的标志位(Mo.0);允许RCV;bc码寄存器清零;重新装入用于计算BCC 校验码的地址指针;接收缓冲区中存放拦令结朿字符的竽节ⅤB133清零(用米判断下一条指令格式是否正 确) PLc寄存器地址分配 此柱序占用PLC寄存器的VB100VB199,内部继电器占用M0.0和M0.1。寄存器地址分配见表3、表 4、表5、表6。 表3接收缓冲区 VB100 字符数 VB101 起始字符 ByteS VB102 指令类型(读/写 Byte 1 VB103 Byte 目标PLC站地址(|六进制ASC|码) VB104 Byte VB105 Byte4 VB106 Byte VB107 Bytes VB108 Byte 目标寄存器地址(十六进制ASCⅢ|码) VB109 Byte VB110 Byte VB111 Byte 10 VB112 Byte 11 VB113 Byte 12 读/写字节数M(十六进制ASC|码) VB114 Byte 13 VB115 要写入的数据(十六进制ASC码) Byte 14 VB116 Byte 15 VB117 Byte 16 VB118 Byte 17 VB119 Byte 18 VB120 Byte 19 VB121 Byte20 VB122 Byte21 VB123 Byte22 VB124 Byte 23 VB125 yte24 B VB126 Byte 25 PLC WORLD VB127 Byte26 VB128 Byte27 VB129 Byte28 B130 Byte 29 VB131 Byte30 BcC校验码(十六进制ASC码) VB132 Byte 31 VB133 结束字符 Byte 32 表4译码冈 VB134 PLC站号( ATH from vB103VB104 B135 VB136 合成为VD135作为目标寄存器的坦址指针 VB137 ATH from VB105-VB112) VB138 VB139 读/写字节数( ATH from ve113VB114) VB140 bcc hg(ATH from VB131-VB132) B141 VB142 VB143 VB144 未便用 VB145 VB146 VB147 VB148 VB149 VB150 和成为VD149作为VB102的地址指针 B151 用以计算BCC校验码 VB152 表5发送缓冲区 VB153 宇符数 VB154 起始字符 Byte VB155 状态信息 Byte 1 VB156 数据区(十六进制ASC码) Byte VB157 Byte VB158 Byte4 B159 Bytes VB160 Byte VB161 Byte PLC WORLD VB162 Bytes VB163 Bytes VB164 Byte 10 B165 Byte 11 VB166 Byte 12 VB167 Byte 13 B168 Byte 14 VB169 Byte 15 VB170 Byte 16 VB171 Byte17 VB172 Byte 18 BCC校验码(十六进制ASC|码) VB173 Byte 19 VB174 结束字符 Bvte20 表6其它 VB175 合成为V175 VB176 作为接攻时计算bcc码循环的INDX VB177 合成为VW177 VB178 作为发送时计算bcc码循环的INDX VB179 接收数据的bcc码 VB180 发送数据的bcc码 VB181 VB182 合成为VD181作为∨B156的地址指针 VB183 (计算发送反馈信息的bcc码时使用) VB184 VB185至VB198 未仗用 VB199 本机站号 程序清单 主程序 NETWORK 1 SM0.1 算一次扫描调用初始化子程序 CALL initialize NETWORK 2 LDB= VB134VB199 ∥指令中的站地址与本机站地址相符 AB= VB102,5 指令类型为读指令 A M0.0 HBCC码校验正确 CALL Read ∥调用读子程序 PLC WORLD NETWORK 3 LDB= VB134VB199 H指令中的站地址与本机站地址相符 AB= VB102,6 ∥指令类型为写指令 A M0.0 ∥BcC码校验正确 CALL Write ∥/用写子程序 NETWORK 4 MO. 1 ∥指令接收完成后调用BCC码校验子程序 CALL Verify NETWORK 5 LD SM4.5 ∥当端口空闲时启动RCV RCV VB100.0 Read子程序: NETWORK 1 SMO.0 ∥{停止端口0的接收 R SM87.7,1 R M0.0,1 RC VB100,0 NETWORK 2 LD SM0.0 ∥将数据写入发送缓冲区 MOVB 103.VB154 MOVB 1. VB155 HTA *VD135. VB156 16 MOVB 26.VB174 MOVB 21.VB153 NETWORK 3 sM0.0 ∥计算BCC校验码 FOR W177,+1,+16 NETWORK 4 SM0.0 XORB *VD181. VB180 PLC WORLD NETWORK 5 SMO.0 INCD VD181 NETWORK 6 NEXT NETWORK 7 sM0.0 HTA VB180,VB172,2BCC校验码写入发送缓冲区 netWORK 8 LD SM4.5 ∥发送反馈信息 XMT vB153.0 Write子程序: NETWORK 1 SMO.0 ∥俘止端口0的接收 R SM87.7,1 R M0.0,1 RC VB100,0 NETWORK 2 LD SM0.0 ∥装入要写如数据源的地址指针 MoVd &VB115. VD145 NETWORK 3 LD SMO.0 ∥写入数据 VD145 *VD135 ATH VB139 NETWORK 4 LD SMO.0 ∥指令执行的反馈信息写入发送缓冲区 MOVB 21.VB153 MOVB 103,VB154 MOVB 2. VB155 MOVB 26.VB174 PLC WORLD NETWORK 5 SM4.5 ∥)送指令执行的反馈信息 XMT VB1530 Verify子程序: NETWORK 1 SM0.0 R Mo.1.1 ∥复位 verify程序的执行条件 NETWORK 2 LD SMO.0 ∥计算BCC码 FOR VV175,+1,+29 NetWORK 3 SM0.0 XORB VD149.VB179 NETWORK 4 SM0.0 INCD VD149 NETWORK 5 NEXT NETWORK 6 LDB vB179,VB140 ∥\BGC码校验正确时,MO.0置1 AB= VB133,71 M0.0. 1 NETWORK 7 LDB= VB13371 BCC码错误时发送反馈信息 AB<>VB179.VB140 MOVB 21.VB153 MOVB 103. VB154 MOVB 3 VB 155 MOVB 26.VB174 R SM877.1 RCV vB100.0

...展开详情
试读 12P 自由口模式下PLC与计算机的通信.pdf.pdf
立即下载 低至0.43元/次 身份认证VIP会员低至7折
一个资源只可评论一次,评论内容不能少于5个字
weixin_38744153 你的留言是对我莫大的支持
2019-09-23
您会向同学/朋友/同事推荐我们的CSDN下载吗?
谢谢参与!您的真实评价是我们改进的动力~
  • 至尊王者

    成功上传501个资源即可获取
关注 私信
上传资源赚积分or赚钱
最新推荐
自由口模式下PLC与计算机的通信.pdf.pdf 9积分/C币 立即下载
1/12
自由口模式下PLC与计算机的通信.pdf.pdf第1页
自由口模式下PLC与计算机的通信.pdf.pdf第2页
自由口模式下PLC与计算机的通信.pdf.pdf第3页

试读结束, 可继续读1页

9积分/C币 立即下载 >