西门子模块6ES235-0KD22-0XA8原装代理
MITSUBISHIPLC是三菱公司生产的可编程序控制器,由于该产品体积小,结构紧凑,性能可靠,易编程,系列全(根据被控对象的复杂程度,选用相应容量的PLC)等优点,而被广泛应用于各种场合和生产过程的现地控制中,可实现开关量采集、输出,模拟量采集和输出等功能。在实际应用中,有时往往需要实现远方控制和监视,PLC的长距离通讯问题具有实用性。这里介绍两种PLC远距离通讯方法。
我们先来分析一下PLC的特性。
一、FX2系列PLC通讯接口的物理特性
PLC装置上带有一个25针RS-422编程口,该口主要用于对PLC进行编程和调试。接口如示:
端口信号定义如下:
RXD:接收数据(Received Data)
TXD: 发送数据 Transmitted Data)
DTR: 数据终端准备就绪(Data Terminal Ready)
DSR:数据装置就绪(Data Set Ready)
PWE: PLC数据接收允许
在用PC机或便携机对PLC进行编程和调试时,必须用一根专用通信电缆与之通信,当编程调试结束后,该口即处于闲置状态。要想实现PLC长距离数据通讯,一种方法是采用PLC通讯扩展模件,这要增加额外的开销,另一种方法就是利用其自身的编程口,也能达到同样的效果,可节省开销。出于保密等某种因素,PLC编程电缆的接口电路部分用强力胶密封,用户无法查看。通过对其接口的分析和试验,找到了用四线制方式实现PLC通讯的连接方法,即用PLC的4个引脚RXD(R+、R-)、TXD(T+、T-)经长线与PC侧的长线收发器相连接,通过长线收发器把信号转换为RS-232后与PC的串口相连。其接口如图2如示。
应当指出的是为了使PLC始终处于“数据装置就绪”状态,我们人为将4脚和7脚短接,同样为了使PLC能接受主机的命令,也将21脚和20脚短接。
在实际应用中,PC机通常要与若干个PLC通讯,单个串口是实现不了的,此时需扩展端口来实现。选用MOXA Inbbblio C218Turbo 系列串口卡带Opt8F连接盒可实现与8个PLC相连。
Opt8F 是一个8串口RS-422、DB25孔式连接盒,带光电隔离 。信号定义: TxD+(3)/-(16),RxD+(2)/-(14), GND(7) ,具备LED可监看每个串口的TxD, RxD ;含1.5mDB62转DB62接头的电缆线,光电隔离大可达500V ,数据传输速率: 50 bps ~ 115.2Kbps。
硬件连接如图所示:
如果PLC超过8个,可再扩展一块C218卡。
这里,也可以选用MOXA系列C168卡,它的8串口是RS-232口,需外加长线收发器将RS-422转为RS-232后才能连到8串口上,连接方式同图-2。
二、 PLC 通讯机制
1.PLC通讯口参数
波特率:9600比特/秒
校验方式:偶校验
停止位:1位
校验位:1位
传输方式:异步7位字符方式
2.PLC数据帧格式
PLC有三种通用寄存器:D寄存器、X寄存器、Y寄存器。D寄存器为数据寄存器,可存放双字节整数,X寄存器为输入位寄存器,字长8位,每一位对应一个开关量输入点;Y寄存器为8位输出寄存器,字长8位,每一位对应一个开关量输出点;通过这三种寄存器,即可进行模拟量、开关量的采集,以及开出控制。
PLC的通讯是完全被动的半双工通讯,要实现PLC数据的远传,要了解三种寄存器读写数据的帧格式,按照这个格式通过上位机对它发读或写命令(在软件中一般用数组来存放该命令报文),PLC根据命令的性质作出响应。归纳起来只有两种:寄存器读和写命令。其帧格式如下:
读命令帧格式:
写命令帧格式:
(注:这里的高位指一个字节的高半字节,即高四位;低位指低半字节,以下同)
STX:报文起始标志
EXT:报文结束标志。
被读的寄存器的组地址为4位ASCII码,可从PLC手册中查到。一次多读出64个字节。
通讯开始时,主机向PLC发查询代码ENQ(05H),如果PLC正常接收,则PLC回送确认代码ACK(06H)作为应答,表示通讯建立,可以对PLC进行读、写命令。如果PLC不能识别命令,则返回NAK(15H)。应当注意的是PLC的响应有一定的延时(3秒以内),在收到命令后,PLC要在执行完下一周期END指令后方才响应,主机在软件上应考虑延时读数和三次重发。
PLC响应后的数据格式:
校验和的计算,以D寄存器的读报文为例
读D123寄存器,地址为10F6H,读4个字节:
校验和是报文内CMD和ETX中间(包括CMD和ETX)各字节之和,上面报文校验和=30H+31H+30H+46H+36H+30H+34H+03H=174H,取后两位74H,即为校验和,用ASCII码表示就是:37H和34H。
例如D寄存器中的数据为D123:1234H , D124:ABCDH,则PLC响应后,向PC发送数据报文为:
3、软件
PC机COM1端口初始化程序(与PLC端口参数一致)
........
outputb(0x3fb,0x80); /*通讯线控制寄存器控制字,访问波特率除数锁存器*/
outpoutb(0x3f8,0x0c); /*除数锁存器控制字低位,定波特率*/
outportb(0x3f9,0x00); /*除数锁存器控制字高位,定波特率*/
outportb(0x3fb,0x1a); /*通讯线控制寄存器控制字,定数据格式*/
outportb(0x3fc,0x03); /*MODEM控制寄存器控制字*/
在采用PLC对自动模切压痕机等包类机械实现电气自动化控制的系统中,像经典的继电-接触器控制系统中的大部分联锁控制都可转移到PLC中实现,继电-接触器控制系统大大地简化,成为只含有一些必要的电气联锁的MCC(MotorControl Centre)系统,成为PLC系统指令的有条件的执行者。
在采用PLC对自动模切压痕机等包装机械实现电气自动化控制的系统中,像经典的继电-接触器控制系统中的大部分联锁控制都可转移到PLC中实现,继电-接触器控制系统大大地简化,成为只含有一些必要的电气联锁的MCC(MotorControl Centre)系统,成为PLC系统指令的有条件的执行者。
应保留继电-接触器的联锁
在PLC与继电-接触器系统综合设计中,这种联锁主要是指重要的安全联锁,包括人身安全和设备安全两方面。从人身安全的角度出发,应保留一些对人身安全至关重要的联锁,如事故开关、紧急停机装置等,这些开关一般要求采用非半导体的机电元件组成。从设备安全的角度出发,往往需要保留一些重要的极限开关和保护手段。
PLC和MCC系统的接口
PLC和MCC系统的接口方法常见的有两种:一种是采用继电器隔离的方法,一种是PLC直接接受MCC系统的信号,并且由PLC直接驱动MCC中的接触器的方法。
采用种方法时,进人PLC的信号要先经过光电隔离继电器,再由其触点接入PLC的输入模板。PLC的输出信号也是先驱动继电器线圈,再由继电器的触点参与MCC的联锁控制。这种方法的优点是:方便了PLC模板的选取,从而有可能降低PLC的造价,基本上清除了外部强电侵入PLC的可能性,有效地保证了PLC系统的运行安全。其缺点是增加了大量的继电器,从而增加了可能的新故障点。在实用中,应选用高质量的继电器,好选用带有能指示吸合动作的发光器件的继电器。采用PLC和MCC系统直接接口的方法的优点是简单明了,整个控制系统的故障点少。缺点是系统的安全性不如种方法高。
工程实践中,两种方法应用都很广泛,很多系统中两种方法兼而有之。选取接口要视环境和具体条件、元件水平等灵活考虑决定。
I/O分站的热备
在一些对PLC系统可靠性要求极高的系统设计中,不仅要求主机有热备,有时还要考虑系统中某些I/O分站也要热备,出现故障时,实现I/0通道的自动或手动切换。
为了实现功能,在系统设计中应建立起两个完全一样的I/0分站,其系统的输人是并联的,而输出信号则要求可切换。作为自动切换的应用,切换装置应当是受PLC控制的。
就地操作
就地操作是指机旁单机操作,它有两种设计原则,一是不经过PLC,直接通过MCC盘控制电气设备,二是经过PLC,实则是又一种手动方式。但无论采用哪一种,上述人身、设备等必要的安全联锁仍然在继电-接触器系统中实现。
采用不经过PLC的就地控制方式,优点是就地操作试验时只要将转换开关一转换,就可脱离PLC,完全不用考虑PLC系统的硬软件问题,集中力量检验机械动作性能。国外设计一般都采用这种方法。缺点是增加了MCC盘上联锁的复杂性。如果采用经PLC就地操作,将就地开关接人PLC模板即可。这样外部电缆、MCC盘都显得简单。在远距离情况下,PLC输入可以通过选择高电压范围输人模板的办法保证输人信号的可靠性,输出由干是通过MCC盘直接控制继电器,消去了采用不经过PLC就地操作方式时继电器回路的长电缆,保证了继电器动作电压。这种方法也有优点。合理科学地编制PLC程序
PLC程序摒弃了微机常用的计算机编程语言的表达方式,独具风格地形成一套以继电器梯形图为基础的形象编程语言和模块化的软件结构。用户根据PLC说明书的提示,就可以按照继电器梯形图和逻辑代数式来直接编程。在编制PLC程序过程中,必须使设备安全可靠,其中重要的就是消除误操作影响。误操作主要包括人为误操作和系统本身产生的失误两方面。
1.人为误操作
1)手指颤动造成失误解决的方法是使用微分指令DIFU(13)来检索按钮送人电信号的上升沿,在一个执行周期里PLC只执行一次,从而避免些类误操作的发生,如图1中,00005为高压泵停止按钮,HR0005为低压泵起动标志位。当按下低压泵起动按钮00003时,信号转化为微分指令HR0005,HR0005在一个程序扫描周期里,只接收一个上升沿脉冲,从而过滤掉由于手指颤动产生多余的脉冲,保证定时器TIM000正常延时1min,确保高压泵按时起动。
图1
2)无意误操作解决的方法有两种。一是通过程序来优化显示功能,减少人为失误,在设计中使用一个指示灯来显示各种不同的工作状态平光—显示系统处于运行状态高频闪光——显示系统处于试验状态,每1s闪1次;低频闪光——显示系统处于步进状态,每3s闪1次。二是通过输入信号之间的联锁,这种方法工作量大,考虑要全面,否则也会出现输入信号相互干扰,起反作用。图2是简化的梯形图,00003为1号低压泵起动按钮;00005为2号低压泵起动按钮;HR0400为1号主机停止24h后标志;HR0401为2号主机停止24h后标志。
图2
图2的工作原理为1号或2号低压泵任意一台工作,1号2号互为备用,保证有一台在工作。1号2号低压泵停止按钮的常闭接点(00004,00006)互为联锁,当操作人员误按停机按钮00004(00006)时,程序会自动起动另台低压泵(2号或1号低压泵),从而避免造成低压泵停机严重事故的发生。HRO100为低压泵停机起动标志,常开(闭)接点广泛串联到各个相关回路中,尤其是串联到高压泵控制回路中,保证在低压泵未起动的前提下,起动高压泵无效,从而避免对高压泵的误操作。1号或2号低压泵起动后,HRO100得电,技术要求只有三种情况低压泵起动标志HRO100失电:1号2号主机00000、00001停运,且按下系统总停按钮00002;PLC上电复位信号25315;1号2号主机停运24h后HR0400、HR0401。除了上述三种情况外,总保持上电状态,保证整个控制系统的稳定,误按下系统总停按钮也不要紧。
2.系统本身产生的失误
由于PLC输人信号来源复杂,目PLC的动作响应时间远远短于继电接触控制系统的响应时间,在继电接触控制系统中不太引起注意的触点瞬间跳动问题,将会在PLC控制系统中产生误操作。为此程序中加入了干扰滤除程序,见图3。
图3
TIM000用于消除00104接点断开时,因机械振动影响出现的瞬间闭合,TIM001用于消除00104接点闭合时,因跳动与受干扰的影响出现的瞬间断开。CNT020用于保持输人的信号。HR0410、HR0411为相关的运行设备。
当00104(油位下限开关)断开后,由于以上原因造成00104瞬间闭合,起动定时器TIM000,如果在设定时间内,00104断开,则系统判定此次闭合为误动作,不执行以下程序;若00104在设定时间内仍为闭合,由系统判定此次闭合为正常的命令,通过计数器CNT020保持输入的信号,起动相关的运行设备;当00104闭合后,由于以上原因造成00104瞬间断开,方法同上,TIM000、TIM001的时间设定为#0002(0.2s),它不会对控制系统有什么影响。一般来讲TIM000,TIM001时间的设定值是按输入继电器可靠吸合后立即断开这一过程的时间考虑的,约0.2~0.5s,在此范围内都可以达到消除触点跳动干扰的目的。如果时间设定值过大,将使系统动作延迟;太小,则收不到滤除干扰的效果。