西门子模块6ES7341-1BH01-0AE0性能参数
液压站共由8只电磁阀控制,8只电磁阀的供电是直流24V,8只电磁阀由PLC据工艺流程实施自动控制。两名实习生围着液压系统和PLC电控柜来回转了几圈,测了一下电磁阀(标号为8YV)线圈有正常的电阻阻,大概几十Ω,判断电磁阀是好的,请操作工人操作了一回电控柜,其它七只电磁阀都能正常动作。但8YV线圈两端总是得不到电压,不能吸合。两名实习学生大致检查了一下线路,由PLC的输出触点驱动中间继电器KA8,由KA8再控制电磁阀的动作。电路如下图:
线路也其本上看明白了,但故障是PLC的问题,还是中间继电器的问题,还是线路的问题,如何下手查,或者说,在停机状态,如何检查PLC外围电路的故障,两名学生感到很茫然,不知如何下手,想在设备操作过程中测量,又因不明白设备控制流程,怕搞坏了设备,不敢操作。,是PLC还是PLC外围线路的问题,他们拿不准,在停机状态,不知道如何查法。捣腾了一两个小时,没查出结果来,感到自己的自信心受到了一个不算是很小的打击。
工厂老板有些急了,再修不好,用户订单完不成了。赶紧打电话叫来了两名老电工,要求短时间修复设备。老电工张师傅上来先把两名学生训了一通:电磁阀不动作,就两根线,顺着找就是了,怎么就修不了?!问两个学生,你们学过PLC吗,学过控制电路吗?两个人都回答,PLC也学过,控制线路也学过。两人感到当时学的都还不错,其中一名学习还是全班成绩前三名的,尖子生啊。学生说,当时学的也挺明白的,从控制原理到线路,都还可以呀。怎么一下子就用不上了,一下子觉出所学的无用了呢?正是:学习中觉着高能,实干中很是低能;学习成绩还不错,接触实际便不中了。
张师傅说,我修修你们看着,到底有多难?张师傅找了一根导线,将24V电压直接引入到8YV的两根控制引线上,看到8YV电磁阀仍不动作,确实引线确实已断。张师傅说,换线,将电磁阀的两根引线换掉,就修好了。简单得很!
从电控柜出来的控制线,经过几十米的下埋铁管,引入到车间液压站。张师傅说,我知道,控制线有接头,一定是接触不良了。要快速修复,重布二根8YV电磁阀的控制引线,十分钟解决问题!一学生问:还用测量一下吗?张师傅讲,用不着测量,我刚才不是试过了吗。另从电控柜的控制端子上,扯了两根导线,直接连接到8YA上。开机试验,正如张师傅所说,十分钟内,故障排除了。
这当儿,两名学生的学习兴趣提起来了,又问老电工李师傅:这个故障,让您修,您会怎么办呢?李师傅性格比较温柔,慢慢讲解到:张师傅这是经验修理法,检查方法也比较到位和直接,他对这台设备线路熟,往往能三下五除二地解决问题。你们一时半会也还到不了这个程度。我则依靠万用表测量,和经过几个检查方法和步骤,找出故障所在,进而解决问题,我这个法子较慢,但比较通用,放在哪儿都能用。其实我的法子,倒是比较科班和比较经典的。
您用什么法子呢?两名学生有点急不可耐了。
李师傅说:根据这种故障情况,我应该先将电控柜的控制电源停掉,从控制端子测一下8YA两线端子的电阻,为几十Ω,说明引线和电磁阀线圈基本正常。其实这一测量也就查出了8YA的控制引线断路了,换引线就能将故障修复。
学生问:如果引线和线圈都是好的,8YV仍不动作呢?
李师傅说:下来应该检查PLC输出端的外围控制线路了。
李师傅说:找到PLC的两个输出控制端子YO、COM0,其实两个端子内部就是一个继电器常开触点,说白了,PLC控制端子就是一个小开关,开关闭合时,中继KA8得电,接通8YV线圈电源,电磁阀动作,对不对?
我们可以先将YO、COM0两个端子短接一下,观察一下KA8是否动作,如果KA8正常动作,但8YV并不动作,再短接一下KA8的常开控制触点,8YA正常动作了,则说明KA8坏掉,常开触点接触不良;若短接YO、COM0两个端子,电磁阀8YV正常动作,说明PLC输出外围电路是好的;若短接YO、COM0端子,KA8不动作,检查24V控制电源和引线。
当然,在电控柜这边,可以短接YO、COM0端子的测量一下8YV接线端子,有无24V电压,来判断PLC外围控制线路是否正常。
这样,通过短接两个开关点,PLC外围控制线路的故障暴露无遗了。不必要非得在操作设备过程中才能检查故障啊。你得想办法让线路改变常态,动起来,使故障暴露出来。
如果PLC外围控制线路无问题,而8YV还不动作呢?两名学生追问道。
李师傅照旧不紧不慢地解说道:这可能是PLC和PLC输入信号的问题了。
那如何检查呢?学生又问。
李师傅说:得让操作工师傅操作一下看看了。
在操作过程中,注意看一下,若YO端子指示灯能点亮,但KA8不吸合,说明PLC内部继电器触点接触不良,应修复或更换PLC,如上图电路,当Y0端子输出指示灯亮时,你可以测一下,YO、COM0两端子之间电压为OV,说明内部开关接通;灯熄时,电压为24V,说明内部开关断开。若Y0端子输出指示灯亮,但电压仍为24V,必定是PLC内部继电器触点损坏。
在操作过程中,Y0端子输出指示灯一直不亮。在PLC程序正常运行的情况下(如本例中其它控制都正常),可能为PLC输入端子哪路信号未能正常输入,或者是状态不对,不能满足YO输出的条件。这时候能用笔记本电脑调出PLC内部程序,监控程序运行,找出满足Y0输出和各个条件,进而查找出是哪路输入信号异常,如外接限位开关常闭点接触不良啦等等,故障就能排除了。
上图中,XO、T1、X3、X4、T5都可以称其为YO的条件触点,先不管T5,对YO的控制,只有当XO(输入条件)、T1(延时时间到后)触点接通,X3、X4触点维持静态时,YO才具备得电条件。这四个触点要找出哪个条件不具备,找到故障原因,进而修复。如检查X0、X3、X4触点状态都对,看PLC输入端子状态指示灯,X0点亮,而X3、X4熄灭,则四个条件中三个条件都已满足,只剩下T1条件未能满足了。在程序查找对T1线圈的控制程序段,再检查满足T1得电的条件,一步步深入,找到故障原因。
随着3C技术迅速发展,网络集成信息自动化正迅速应用到现场设备、控制中,现场总线控制系统正逐步取代传统的DCS/'target='bbbbbb'>集散控制系统,其中Modbus现场总线协议在基于PLC的控制系统中得到了越来越广泛的应用。在本系统中,以PLC为主机、温度采集模块为从机,完成对生产过程的自动控制、工业流程及工艺参数的显示、修改,根据PLC的无协议通信功能,用Modbus现场总线协议实现主机与从机的通讯。
本文基于某监控系统的设计,实现了三菱FX2N系列PLC在无协议通信方式下与DS18b20型数字温度传感器的采集模块以Modbus协议通信,在电炉熔化工作过程中,对电炉、电容、冷却水等100多点的温度实现巡检。
1 系统硬件组成
温度监控部分系统的硬件由DS18b20型数字温度传感器、采集模块、FX2N系列PLC、FX2N-485-BD、HITECH触摸屏组成,其结构如图1所示。
图1 系统硬件组成
DS18b20是世界上支持单线总线接口(1wirebusinteRFace)的数字化温度传感器,单总线接口便于构建分布式的温度测控网络,数字化的输出提高了信号传输的可靠性,使外围电路大为简化。DS18b20具有很高的适应性和性价比,其测温范围为-55~125℃,测温精度为±0.5℃,测温距离大为200m,测温方式使用3线制,本系统使用的传感器排序方式为指定排序。
DS18b20内部主要有3个数字部件:1个温度传感器、1个64位的激光刻蚀ROM、9字节高速暂存器ScratchpadRAM和3字节EERAM。ROM上64位数据是传感器的序列号。暂存器确保数据的完整性,数据先被写入暂存器,并可以被读回。数据经校验后,可以由拷贝暂存器命令传输到EERAM,以确保更改存储器时数据的完整性。暂存器为9个字节,第0和第1字节是温度编码的低字节和高字节。
第2和第3字节是温度编码的低字节和高字节的拷贝,第4字节是配置寄存器,其值决定温度转换的分辨率。
本系统采用的STA-D温度采集模块,是一种远程数字化温度采集系统,有10个通道,每个通道多可以挂接16个DS18b20型数字温度传感器,总共可以监控160个点的温度,以RS485方式同上位机通讯,通信协议为标准Modbus协议,波特率为9600bps,与上位机通信距离大为1200m,工作电源为12~24V,工作温度为-20~75℃。与FX2N485BD采用两线制的485连线方式(图2),接线要使用规范的屏蔽线。
图2 485连接图
台湾HITECH公司触摸屏PWS系列是专为PLC设计的互动式工作站,用232直接与PLC连接,可以直接读取PLC的数据寄存器,具有良好的人机界面,操作人员通过它可设置所有参数,控制系统自动运行。并且编程简便,运行稳定,可设置不同的管理权限,适合于本系统使用。
2 Modbus协议
标准的Modbus口是使用RS232C兼容串行接口,它定义了连接口的针脚、电缆、信号位、传输波特率、奇偶校验,控制器能直接或经由Modem组网。控制器通信使用主从技术,即仅一设备(主设备)能初始化传输(查询),其它设备(从设备)根据主设备查询提供的数据作出相应反应。
表1 Modbus部分功能码定义
Modbus通讯协议有两种传送方式RTU方式和ASCII方式。本系统使用RTU模式,这种方式的主要优点是:在同样的波特率下,可比ASCII方式传送更多的数据。
使用RTU模式时,消息发送至少要以3。5个字符时间的停顿间隔开始,如图3的T1-T2-T3-T4所示。传输的个域是设备地址,可以使用的传输字符是十六进制数值。通信期间,网络设备不断侦测网络总线,包括停顿间隔时间内,当个域(地址域)接收到,每个设备都进行解码以判断是否发往自己的。在后一个传输字符之后,至少要有3。5个字符时间的停顿以标定消息的结束,之后可开始新的消息传输。典型的消息帧如图3所示。使用RTU模式,消息包括了一个基于CRC方法的错误检测域。CRC域检测了整个消息的内容。
图3 Modbus消息帧结构
CRC域是两个字节,包含一个16位的二进制值。它由传输设备计算后加入到消息中。接收设备重新计算收到消息的CRC,并与接收到的CRC域中的值比较,如果两值不同,则有误,后面将具体讲述CRC算法的实现。
3 系统软件构成
考虑到操作的方便性,在系统初次安装时,先在PC机上用上位机软件将所有传感器的ID搜索出来,按实际安装位置给每个传感器编号,读温度测试传感器是否工作正常。在PLC上使用Modbus协议通信时要对通信格式进行设定,即对D8120寄存器进行写操作,在本系统条件下设置为0C87,即数据长度为8位,无校验,无起始位与停止位,波特率9600bps。修改D8120设置后,确保通断PLC电源一次。再用RS指令进行数据的传输,相关程序格式如图4所示。
图4 RS指令程序格式
按照上述程序格式,即可在数据发送区写入指令进行相应的操作。
1)读取温度,其指令格式:[设备地址][命令号][通道号][传感器编号][读取个数高8位][低8位][CRC低8位][CRC高8位],其中CRC校验字节以子程序形式调用。设备响应:[设备地址][命令号][返回的字节个数][数据1][数据2]。。。[数据n][CRC低8位][CRC高8位]。
每个18b20读取温度的返回值占用两个字节。
转换方法:将实际温度扩大100倍,再将此数值分为两个字节传送出来即可。例如,实测出来温度是28。65℃,扩大100倍即2865,则发送的个字节是2865/256即是11,第二个字节是2865%256即49,那么传送的两个字节为0×0B和0×31。
需要注意的是,由于采用两线制的485连线方式,会产生回波通信,即接收端会先接收到自己发送出去的数据,但数据还是会正常发送给采集模块,此时接收端则应该避开前面的无用数据,接收后面模块响应的有效数据。
2)在系统运行后,若需更换传感器,则需执行以下两条指令,搜索ID,[01][06][0c][00][00][00][CRC低][CRC高],此指令为搜索模块1上各个通道的所有传感器。写编号,例如:[01][06][09][05][00][05][CRC低][CRC高],表示将第9通道的原来编号为05的传感器更换后重新设定为05,执行此两条指令后,方可重新读取温度。
3)CRC校验字节的生成是比较关键的一步,其过程比较复杂,步骤如下:
①预置一个16位CRC寄存器为十六进制FFFF,即所有数位均为1。
②该16位寄存器的低8位字节与信息帧的个字节的低8位进行&异或运算。运算结果放入这个16位寄存器。
③把这个16寄存器向右移一位,用0填补高位。
④若向右(标记位)移出的数位是1,则生成多项式A001(1010000000000001)和这个寄存器进行“异或”运算;若向右移出的数位是0,则返回③。
⑤重复③和④,直至移出8位。
⑥重复③~⑤,直至该报文所有字节均与16位寄存器进行&异或运算,并移位8次。
⑦将得到的l6位CRC寄存器的高、低位字节进行,即2字节CRC,加到报文。
其程序流程如图5,以上面的温度读取指令为例,其CRC校验梯形图如图6。
图5 CRC校验流程
图6 CRC校验程序
在读取温度时,应严格遵守DS18b20的读写时序,否则就会出现错误,丢帧等,若用脉冲信号定时读取,则间隔应不小于100ms。一般出现错误帧时数据显示为0℃,此时可以进行简单的滤波,例如传回值为0时不显示数据,或者多组数据取平均值后再显示,以避免温度显示的大幅度跳动。DS18b20的初始化温度显示为85℃,若一直不变,则此传感器可能已经损坏或是接线不良,应进行相应的检查。
4 结束语
该系统应用于生产过程实时监控中,PLC既作为现场控制机完成对生产过程的自动控制,又作为主从通信的主机,与相关仪表连接,实现与基于Modbus现场总线协议的DS18b20型数字温度传感器的采集模块的主从通信,并通过PLC高速实时网络实现对其的远程监控。该系统目前处于试运行阶段,表现较为稳定,通信可靠,效果良好。
近期,的科学计算和基于建模设计的软件开发和供应商——MathWorks公司推出了一款可以自动生成IEC代码的新品。通过使用这些可被轻松集成在B&RAutomation Studio 软件中的Simubbbb模型,可以在Simubbbb PLC代码编辑器中以结构性文本(IEC61131-3 ST)方式创建源代码,从而扩展工业自动化领域基于建模的设计。
当需要管理成本和加速产品上市时间时,基于建模的设计可以帮助设备制造商有效平衡有价值的研发资源。贝加莱已被证明是一家拥有持续创新理念的系统供应商。通过在AutomationStudio环境下提供通用接口,可使用Real-Time Workshop和Simubbbb PLC代码编辑器自动生成代码。
Simubbbb PLC代码编辑器
——为B&R AS软件自动生成IEC代码
近期,的科学计算和基于建模设计的软件开发和供应商——MathWorks公司推出了一款可以自动生成IEC代码的新品。通过使用这些可被轻松集成在B&RAutomation Studio 软件中的Simubbbb模型,可以在Simubbbb PLC代码编辑器中以结构性文本(IEC61131-3 ST)方式创建源代码,从而扩展工业自动化领域基于建模的设计。
当需要管理成本和加速产品上市时间时,基于建模的设计可以帮助设备制造商有效平衡有价值的研发资源。贝加莱已被证明是一家拥有持续创新理念的系统供应商。通过在AutomationStudio环境下提供通用接口,可使用Real-Time Workshop和Simubbbb PLC代码编辑器自动生成代码。
有助于Simubbbb PLC代码编辑器以结构性文本(IEC 61131-3 ST)方式创建源代码
B&R Automation Studio Target forSimubbbb的完美补充
Simubbbb PLC 构成了对两年前B&R提供的Automation Studio Target forSimubbbb自动代码生成方案的完美补充。贝加莱为用户提供生成ANSI-C或结构性文本代码的选择并可自动集成到自动化项目中。
通过仿真和基于建模设计的有效研发
基于建模的设计(带自动代码生成)大大缩短了研发过程,使创建时间更短,并且更具成本效益的设计工作流程。通过仿真可以及早的诊断出设计上的错误,在模型上测试过的算法可以被下载到工业控制器,这些都可以一键完成。
当然,各自工具的集成也是决策的关键因素,B&R和MathWorks的紧密的合作将保证未来的持续性。