西门子s7-200支持多种通讯模式,如点点接口(ppi)、多点接口(mpi)、rrofibus dp等。ppi等通讯协议主要用于西门子系列产品之间的通讯以及对编程。在自由口模式下,可由用户控制串行通讯接口,实现用户自定义的通讯协议。用户可以用梯形图程序调用接收中断、发送中断、发送指令(xmt)、接受指令(rcv)来控制通信操作。在自由口模式下,通信协议完全由梯形图程序控制。
s7-200cpu上的通信口是与rs-485兼容的9针d型连接器,plc还提供了实现 rs-485与 pc机上rs-232c相连接的pc/ppi电缆,利用它可以方便地实现s7-200系列plc与pc之间的硬件连接。
s7-200的编程软件为step7-micro/win32,该软件有stl、fbd和ladder三种编程模式,有simatic指令和iec131-3指令两种指令。本文所给出的范例是使用simatic指令的stl编程。
s7-200 plc端的通讯程序实现
plc程序分为主程序和中断程序。主程序完成初始化通信口、开中断、判断、发送数据等功能,中断程序完成接收和发送数据的功能。接收指令(rcv)启动或终止接收信息功能,必须为接收操作指定开始和结束条件。发送指令(xmt)在自由口模式下依靠通讯口发送数据。
控制字的选取
反映cpu工作方式的模式开关当前位置的特殊存储器位为sm0.7,它控制自由端口模式的进入。当sm0.7为0时,模式开关处于trem位置;当sm0.7为1时模式开关处于run位置。而只有当模式开关位于run位置时,才允许进行自由口通讯。smb30是自由口模式控制字节,用来设定校验方式、通讯协议、波特率等通讯参数(其它控制字的设定参阅有关书籍)。
程序的一些简单介绍
network1
ld sm0.1 // 第一次扫描
movb 16#09,smb30
//自由口通讯模式:9600波特率,无奇偶校验,8个数据位
movb 16#7c,smb87 //接收信息状态字节
movb 16#53,smb88
//设置信息的开始字符“s”
movb 16#45,smb89
//设置信息的结束字符“e”
movw +5,smw90
//设定空闲行的时间间隔(ms)
movw +179,smw92
//字符间/信息间定时器超时值(ms)
movb 60,smb94 //接收字符的个数
network2
ld sm0.1 movb 16#53,vb2499
//设置接收和发送缓冲区的首地址
atch 发送完中断,9
//把发送完成中断和发送完成中断子程序连接起来
atch 接收完中断,23
//把接收完成中断和接收完成中断子程序连接起来
eni //允许中断
——此文章转载于互联网,文中观点与本网站无关,如有侵权请联系删除