自由端口模式是指用户编程来控制通信端口,以实现自定义通信协议的通信方式。在该模式下,通信功能完全由用户程序控制,所有的通信任务和信息均由用户编程来定义。PLC与打印机之间通常采用自由端口模式进行通信。
图6-30 PLC与打印机通信的硬件连接
1.硬件连接
PLC与打印机通信的硬件连接如图6-30所示,由于PLC的通信端口为RS-485接口,而打印机的通信端口为并行口,因此两者连接时需要使用串/并转换器。
2.通信程序
在PLC与打印机通信前,需要用计算机编程软件编写相应的通信程序,再将通信程序编译并下载到PLC中。图6-31为PLC与打印机通信程序,其实现的功能是,当PLC的I0.0端子输入1(如按下I0.0端子外接按钮)时,PLC将有关数据发送给打印机,打印机会打印文字“SIMATIC S7-200”;当I0.1、I0.2~I0.7端子依次输入1时,打印机会依次打印出“INPUT 0.1 IS SET!”、“INPUT 0.2 IS SET!”~“INPUT 0.7 IS SET!”
图6-31所示的PLC与打印机通信程序由主程序和SBR_0子程序组成。在主程序中,PLC首次上电扫描时,SM0.1触点接通一个扫描周期,调用并执行SBR_0子程序。在子程序中,网络1的功能是先设置通信控制SMB30,将通信设为9.6kbit/s、无奇偶校验、每字符8位,然后往首地址为VB80的TBL表中送入字符“SIMATIC S7-200”的ASCII码;网络2的功能是往首地址为VB100的TBL表中送入字符“INPUT 0.x IS SET!”的ASCII码,其中x的ASCII码由主程序送入。子程序执行完后,转到主程序的网络2,当PLC处于RUN状态时,SM0.7触点闭合,SM30.0位变为1,通信模式设为自由端口模式;在网络3中,当I0.0触点闭合,执行XMT指令,将TBL表(VB80~VB95单元)中“INPUT 0.0 IS SET!”发送给打印机;在网络4中,当I0.1触点闭合,先执行MOV_B指令,将字符“1”的ASCII码送入VB109单元,再执行XMT指令,将TBL表中“INPUT 0.1 IS SET!”发送给打印机,I0.2~I0.7触点闭合时的工作过程与I0.1触点闭合相同,程序会将字符“INPUT 0.2IS SET!”~“INPUT 0.7 IS SET!”的ASCII码发送给打印机。
(www.xing528.com)
图6-31 PLC与打印机通信程序
图6-31 PLC与打印机通信程序(续)
图6-31 PLC与
打印机通信程序(续)
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。