1、引 言
可编程控制器(PLC)由于其结构紧凑、可靠性高、编程简单、指令强大、灵活性强、能适用于比较恶劣环境等诸多优点,现已在工业控制领域得到广泛应用。现普遍采用触摸屏加plc的方法来监控设备,但触摸屏视角窄,不适应恶劣环境,且数据存储容量有限,不易实现大规模网络互联。因此我们采用plc与计算机通讯的方式实现实时监控,克服了触摸屏的缺点。
2、s7-200cpu自由口通讯方式的应用
的plc很多,如西门子、欧姆龙、松下、三菱等等,本人仅以西门子s7-200小型可编程控制器的cpu22×系列为例,介绍plc在计算机网络中与计算机通讯的功能。
s7-200cpu支持多样的通讯功能,根据所使用的s7-200cpu,其网络可以支持一个或多个以下协议:
点到点(point-to-point)接口(ppi)
多点接口(multi-point)(mpi)
profibus
用户定义协议(自由口)
自由口通讯是通过用户程序可以控制s7-200cpu通讯口的操作模式。利用自由口模式,可以实现用户定义的通讯协议连接多种智能设备。通过使用接收中断、发送中断、发送指令和接收指令,用户程序控制通讯口操作。在自由口通讯模式下,通讯协议完全由用户程序控制。通过smb30(口0)允许自由口模式,而且只有在cpu处于run模式时才能允许。当cpu出于stop模式时,自由口通讯停止,通讯口转换成正常的ppi协议操作。
近年来,随着我国铁路运输环境的改善,列车速度越来越高,势必对铁道车辆提出较高的要求,其表现在对列车的舒适性和运行可靠性、安全性的要求提高,因此车辆上设备的自动化程度越来越高。自动化程度的提高,带动了网络技术在列车控制和监控上的应用。车辆网络控制、监控简图如图1所示。
整列车设有车辆级计算机,每个车厢设有本车计算机,车辆级计算机与各个本车计算机组成车辆的主网,本车计算机与本车厢内的各个设备间组成子网。plc由于其自身的优点,作为控制核心在车辆上的多种设备中得以应用,例如列车自动门的控制、列车空调机的控制等,使其可以作为整个列车网络系统中的一个节点。
3、通讯协议
siemenss7-200系列plc可以采用用户定义通讯协议(自由口)模式实现计算机与plc、plc与plc的通讯。笔者所描述的例子中,虽然车辆计算机系统和车辆上的其它设备分别是多个设备供应商的产品,但是只要制定好通讯协议,就能满足相互通讯的要求。s7-200系列的plc正是由于其自由口通讯是通过用户程序控制cpu串行通讯口的操作模式,所以可以方便地与车辆计算机通讯。
计算机(主站)每隔100ms查询plc(从站)一次,主站发出从站动作控制命令给从站,从站收到命令后发给主站应答帧,从站接收到主站发送来的一帧数据,计算出其校验码fcs,与接收到的一帧数据中的fcs比较,检查是否有数据错误。如果有数据有误,从站发送信息给主站,请求重发。
·字符结构:每个字符由11位构成,奇偶校验位采用奇校验方式。
起始位:1位;
数据: 8位 d7…d0;
奇偶校验位:1位;
停止位:1位。
·传输数据帧格式
byte(0)…byte(n)fcs
byte(0)…byte(n)为字符串;
fcs为异或校验码,是发送的所有数据字节和地址字节之异或值。
·主站命令帧结构
从站地址从站地址补码控制字节命令字节fcs
·从站应答帧结构
从站地址从站地址补码控制字节应答字节fcs
4、通讯口初始化
plc内部特殊存储器位smb30和smb130分别配置通讯端口0和1,为自由端口通讯选择波特率、奇偶校验和数据位数。自由端口的控制字节描述如下所示。
西门子PLC8路模拟量输入模块(型号为:AI8X12Bit,订货号为:),当通道配置为电流输入时,是很有讲究的。很多刚入门的新手都没搞清楚究竟该如何配置,如何选择该模块上的量程卡的正确插槽位置,现详述如下:
首先,我们必须搞懂什么是“两线制电流信号”输入,什么是“四线制电流信号”输入。
简而言之:当传感器自带供电电源,通过两根电流信号线向外输送一个0~20mA或4~20mA的电流环信号,而无需PLC通过模拟量模块的接口向其提供24VDC供电时,我们称其为“四线制电流信号”。此时,应将该回路通道上的电流输入模拟量信号配置为4DU (4~20mA),模拟量输入模块量程卡的位置配置为[C],如下图所示:
当传感器本身不带供电电源,需要PLC模拟量输入模块向其提供24VDC的外供电时,我们称其为“两线制电流信号”。在“两线制电流信号”的配置下,模拟量输入模块上电流信号和电压信号是共用的两根线。此时,应将该回路通道上的电流输入模拟量信号配置为2DU (4~20mA),模拟量输入模块量程卡的位置配置为[D],如下图所示:
以上两种配置,在实际中千万不能弄错了!
若配置错误,比如将“有源”的四线制电流输入信号误配置为“无源”的两线制电流输入信号,则PLC的模拟量信号输入接口将承受外部输入电流信号带来的24VDC供电,这很容易导致烧坏PLC的模拟量输入模块
西门子PLC具有很完善的自诊断功能,如出现故障,借助自诊断程序可以方便的找到出现故障的部件,更换后就可以恢复正常工作。故障处理的方法可参看西门子S7-200PLC系统手册的故障处理指南。实践证明,外部设备的故障率远高于PLC,而这些设备故障时,PLC不会自动停机,可使故障范围扩大。为了及时发现故障,可用梯形图程序实现故障的自诊断和自处理。
1. 超时检测
机械设备在各工步的所需的时间基本不变,因此可以用时间为参考,在可编程控制器发出信号,相应的外部执行机构开始动作时起动一个定时器开始定计时,定时器的设定值比正常情况下该动作的持续时间长20%左右。如某执行机构在正常情况下运行10s后,使限位开关动作,发出动作结束的信号。在该执行机构开始动作时起动设定值为12s的定时器定时,若12s后还没有收到动作结束的信号,由定时器的常开触点发出故障信号,www.dqjsw.com.cn该信号停止正常的程序,起动报警和故障显示程序,使操作人员和维修人员能迅速判别故障的种类,及时采取排除故障的措施。
2. 逻辑错误检查
在系统正常运行时,PLC的输入、输出信号和内部的信号(如存储器为的状态)相互之间存在着确定的关系,如出现异常的逻辑信号,则说明出了故障。因此可以编制一些常见故障的异常逻辑关系,一旦异常逻辑关系为ON状态,就应按故障处理。如机械运动过程中先后有两个限位开关动作,这两个信号不会同时接通。若它们同时接通,说明至少有一个限位开关被卡死,应停机进行处理。在梯形图中,用这两个限位开关对应的存储器的位的常开触点串联,来驱动一个表示限位开关故障的存储器的位就可以进行检测。
BCNet-S7 PPI/MPI可以通过Internet远程通讯的方式,实现西门子PLC设备的编程、诊断以及数据通讯。我们以ADSL(VPN通道)的方式为例,构建远程通讯系统。
系统配置图:
所需硬件:两根电话线,两个ADSL的modem,两个宽带路由器(带VPN及DDNS功能,如:TL-R400VPN),一个工程师站(ES),一个PLC站,一个BCNet-S7 PPI/MPI模块。
一、VPN路由器的设置(以本地路由器为例)
1、网络参数设置
1)将网线连接至路由器的WAN口,在 IE 浏览器中输入路由器的IP 地址(默认:192.168.1.1) ,键入用户名和密码(默认为 admin);
2)成功登录后会弹出一个设置向导的画面(如果没有自动弹出,可以单击管理员模式画面左边“设置向导”菜单),单击“下一步”,进入上网方式选择画面;
3)选择上网方式为 PPPoE,(ADSL虚拟拨号),单击“下一步”;
4)填入ISP提供的上网帐号和口令,单击“下一步”;
5)单击“完成”;
6)选择菜单“网路参数—LAN口设置”,选择需要的网段(如:192.168.1.1)
2、VPN通道设置
在启动和登录成功以后,我们进行VPN的连接,在“VPN”菜单下,有“IKE”、“IPsec”和“安全联盟列表”三个子项。
1)IKE 设置:
点击“IKE”菜单,进入IKE 安全策略条目设置界面:
设置完后,IKE安全策略列表中会出现信息条目:
注意:两边的IKE设置要确保完全一致。
2)IPsec设置:
点击“IPsec”菜单,进入IPsec 安全策略条目设置界面:
设置完后,IPsec安全策略列表中会出现信息条目:
3)点击“完全联盟列表”菜单,此时在完全联盟列表中会出现一对VPN通道连接:
3、动态DNS参数设置
TL-R400VPN路由器,使用的是花生壳动态域名解析服务器,注册域名,将域名信息填入:
完成本地路由器的设置。
4、远程路由器的设置方法和本地路由器类似:
注意:两边的IKE设置要确保完全一致。
二、BCNet-S7模块参数设置(以BCNet-S7PPI为例)
1、BCNet-S7PPI参数设置,将IP设在路由器的网段上;
2、远程软件访问(以西门子S7200编程软件MicroWIN为例)(信息来源:www.dqjsw.com.cn)
1)打开MicroWIN,设置 PG/PC 接口,指向计算机网卡;
2)点击“通信”,填入 BCNer-S7PPI 的 IP 地址(192.168.1.191),保存;
3)“双击刷新”,找到plc,点击“确定”
这样就可以通过Internet对远程的西门子PLC进行程序上下载、诊断和通讯了。
3、远程软件访问(BCNet-S7PPI/MPI可以通过“BCNetPro-BCNet通讯测试”测试通讯)