计算机与plc通讯时,一般由计算机发命令给plc,启动通信,plc收到命令后自动发回应答。下面给出了命令帧、应答帧以及帧检查的结构。
fcs(frame checksum)表示报头开始到报文结束间所有数据执行逻辑加操作所得的结果。 它由两位ascii码字符组成,每次plc接收到计算机发送过来的一帧数据,即计算其校验和,结果记为fcs2,将fcs2与帧中所包含的fcs1比较,可检查该帧是否有数据错误。如果有数据错误,plc立即发送错误信息给计算机,利用这一机制,有效防止了数据传输错误。 计算机串行通信口初始化 vb的mscomm控件通过串行端口传送和接收数据。因此,可通过对visual basic的mscomm控件的相关属性的设置来对串口进行初始化。
计算机串口初始化程序段如下: with mscomm1 .portopen = false .commport = 1 file://设置通信端口号为1 .settings=“9600,n,8,1” file://波特率为9600,不作 file://字符校验,8位数据位,1位停止位 .portopen=true file://打开通信端口 .inputmode=cominputmodebinary file://以字节方式接收数据 end with plc串行通信口初始化 西门子s7-200可以采用用户定义通信协议(自由口)模式实现计算机与plc、plc与plc的通信。自由口通信是通过用户程序控制s7-200 cpu串行通信口的操作模式。利用自由口模式可实现用户定义通信协议连接多种智能设备。
plc串口初始化程序如下: ld sm0.1 file://首次扫描闭合 movb 16#09,smb30 file://初始化自由口,9600波特率, file://8位数据,无校验 movb 16#e0,smb87 file://初始化接收控制信息,检测信 file://息结束符、空闲线信息条件 movb 16#24,smb88 file://信息字符开始 movb 16#2a,smb89 file://信息字符结束 movb +5,smw90 file://设置空闲线超时时间 movb 200,smb94 file://设置最大允许接收字符数 atch int_0,23 file://设置接收完成中断 atch int_1,9 file://设置发送完成中断 eni file://设置用户中断允许
——此文章转载于互联网,文中观点与本网站无关,如有侵权请联系删除