在该通信方式下,通信端口完全由用户程序所控制,通信协议也由用户设定。pc机与plc之间是主从关系,pc机始终处于主导地位。plc的通信编程首先是对串口初始化,对s7-200plc的初始化是通过对特殊标志位smb30(端口0)、smb130(端口1)写入通信控制字,设置通信的波特率,奇偶校验位、停止位和字符长度。显然,这些设定必须与pc的设定相一致。smb30和smb130的各位及含义如下:
其中,校验方式:00和11均为无校验、01为偶校验、10为奇校验;字符长度:0为传送字符有效数据是8位、1为有效数据是7位;波特率:000为38400baud、001为19200baud、010为9600baud、011为4800baud、100为2400baud、101为1200baud、110为600baud、111为300baud;通信协议:00为ppi协议从站模式、01为自由口协议、10为ppi协议主站模式、11为保留,缺省设置为ppi协议从站模式。
xmt及rcv命令分别用于plc向外界发送与接收数据。当plc处于run状态下时,通信命令有效,当plc处于stop状态时通信命令无效。
xmt命令将指定存储区内的数据通过指定端口传送出去,当存储区内最后一个字节传送完毕,plc将产生一个中断,命令格式为 xmt table,port,其中port指定plc用于发送的通信端口,table为是数据存储区地址,其第一个字节存放要传送的字节数,即数据长度,最大为255。
rcv命令从指定的端口读入数据存放在指定的数据存储区内,当最后一个字节接收完毕,plc也将产生一个中断,命令格式为rcv table,po rt,plc通过port端口接收数据,并将数据存放在tbl数据存储区内,table的第一个字节为接收的字节数。
在自由口通信方式下,还可以通过字符中断控制来接收数据,即plc每接收一个字节的数据都将产生一个中断。因而,plc每接收一个字节的数据都可以在相应的中断程序中对接收的数据进行处理。
DDR3引领DRAM模组市场 完全占据主导地位
基于STC89C52单片机的矩阵键盘显示电路
超声波焊接机发生器电源设计
嵌入式常用的软件框架介绍与选择
Lora无线门磁:疫情期间的居家隔离管控工具
S7-200系列PLC自由通信口初始化及通信指令介绍
保时捷公司正在计划进行一项在线汽车销售测试
美媒:美国88%就业岗位被机器人抢走
汽车芯片的安全性挑战及解决方案
关于物联网什么最火的相关讨论
反无人机好手段:第一个最科学,最后一个最奢侈最雷人
手机运营商与WiFi合作?未来将会发生什么?
全球8英寸产能或创历史创新,产能过剩的前夕?
甲醛检测仪操作方法介绍
realme真我X50 5G将于1月7日正式发布 并在发布当天就开卖
森林防火远程广播,更好守护森林生态环境
诺基亚将在MWC大会上发布旗舰机型Nokia 9 PureView和诺基亚1 Plus
100G QSFP28 PSM4与CWDM4光模块的区别
小米6多少钱?小米6发布会直播,详细配置参数整合!小米6还要靠抢吗?
架构设计:为什么说复用是邪恶的?