富士触摸屏与西门子PLC通讯中的问题及解决方案
发布时间:2019-07-31 11:22:23来源:
0 引言
随着计算机网络及现场总线技术技术的发展, PLC 及触摸屏在工业控制和楼宇自动化中的应用非常广泛。现场总线技术及其总线接口模块、智能仪表、控制设备等组成的综合监控系统已成为当前自动化技术发展的一个重要方向。在工控领域,PLC与触摸屏结合运用的技术已越来越为工程人员所了解与熟悉 , 由于触摸屏具有操作简便、界面美观直接、编程容易掌握、与PLC通讯良好、抗干扰能力强等等特点 , 它正迅速地渗入各个行业 , 发挥自动化控制的比较大优势。
PROFIBUS 提供了两种通信协议: DP 、 FMS ,富士 UG 系列的触摸屏支持其中的 DP 协议。富士触摸屏具有很强的兼容性, 可以与近 30个厂家的 PLC通讯,兼容性极强,而且还可以和计算机通讯(开放式通讯协议)。
通过接口单元、 UG031-P 通讯卡及总线的连接, UG 触摸屏可以作为从站和作为主站的西门子的 S7-300 或 S7-400 系列的 PLC 通信(网络结构示意见图一)。
图一: PROFIBUS-DP 的网络结构
1 系统结构
本文的背景为某食品加工厂某控制系统包括原料混料线、薯饼生产线、包装线等构成的主线系统,以及蒸汽锅炉系统、水系统、压缩空气系统、照明系统、通风系统和消防系统等构成的辅助系统。各系统位置比较分散,控制点较多,其中包括 140 多台电机, 29 台变频器, 15 个温湿度控制点。
由于系统比较复杂,控制采取分层控制策略,由两台上位机完成工厂级的监控及数据管理功能,触摸屏和 PLC 完成现场级的控制,采用 Profibus 现场总线的方式进行通讯。上位机留有接口,可连接局域网和广域网,以利于进一步的开发。其中数字输入点有 900 多点,数字输出有 400 多点,模拟量输入 20 个。
下面以这个食品加工厂为例,组成一个集中控制系统,系统结构如图二所示。
其中 PLC(1) 用于主系统, PLC(2) 用于辅助系统。辅助系统的组成与主系统相似,因此图中省略了其构成。 PLC 选用 S7-300 系列的 CPU315-2DP 和 S7-200 系列的 CPU226 , PID 模块为 FM355C ,通讯模块为 CP342-5 ,扩展模块为 IM153-1 , I/O 模块则使用到:数字输入模块选 SM321 、数字输出为 SM322 、模拟量输入为 SM331 。上位机选用西门子的工控机,它内置了 PCI 接口的 CP5611 卡用于与
PLC 通讯。
选用 S7-300 系列的 CPU315-2DP 是为了能进行扩展 I/O 模块以满足控制点数的要求,而用于扩展的 IM 模块的选型则是依据 IM 模块与中央控制器 CPU315-2DP 的距离。
由于所有的 I/O 模块均放在同一组控制柜里,因此选用了通讯距离在 5 米范围内的 IM153-1[1] 。当 IM 模块与中央控制器的距离较远时可以选择通讯范围为 100 米的型号的 IM 模块。
触摸屏选用富士 UG420H-SC1, 10.4英寸、 128色 STN显示,基于 Windows95/98/NT操作平台下的专用组态软件,界面友好直观,易学易用,大大节省产品开发周期。编程软件中备有大量的图形库(开关、灯、棒图等)供选择,还可以根据用户需求编辑所需要的工艺图形,能够转换 BMP文件和 AUTOCAD中的 DXF文件。
图二: 控系统硬件组成及结构
2 触摸屏的通讯设置及界面设计
在硬件连接完成后,需要在组态软件中指定系统的硬件配置以及设置一些通信参数等等。首先制定所使用的触摸屏的类型,这里选择默认的 UG420 ( 640*480 10.4inches );下一步指定和触摸屏通讯的 PLC 类型及型号,这里选 SIEMENS S7-PROFIBUS ;比较后一步指定系统参数,首先是读区和写区,读区是指作为从 PLC 读入数据的缓冲,如果系统中需要显示趋势图的话那么读区应当设大一些,一般设 1000 个字就可以了,写区用于显示存储屏幕的状态、页码、画面层叠以及报警状态等等。另外在对话框 No.of Word Setting for I/O 中需要指出触摸屏的 MPI 地址,以及传输的帧长度, MPI 地址在 PLC 的硬件组态里已经定义好了,两者必须一致,否则会出现通信错误。另外帧长度为 32 字节; 奇偶校验为奇校验;数据长度 8位;停止位 1位;通讯方式 RS-485。
UG00S-CW 具有非常完善而强大的组态功能,在开发组态的时候,开发者可以不去考虑通信协议的问题,因为富士公司已经将这一切的技术细节都屏蔽掉了,它具有智能的寻址功能。在建立一个按钮时,这个按钮在 PLC 中的预先有定义(在西门子 PLC 中,无论是数字量还是模拟量的定义都是在 DB 块中)。假设这个按钮的地址是 DB2.DBX2.0 (它的含义是第 2 个 DB 块中第 2 个字节的第 0 位),触摸屏中按钮的地址应表示为 DB2 : 2-0 。我们可以看到,除了地址的书写方式有所不同以外,你几乎无需作其他的工作,你无需去定义变量、更无需去理会通信的帧结构等等。
对于模拟量同样如此,只不过在模拟量中你需要指出模拟量所占的字节个数,其他的同数字量一样简单。
可以说, UG00S-CW 在处理基本的模拟数字量的时候非常简单、方便,但是在处理一些较为复杂的情况时却遇到了意想不到的问题。在这个食品生产线的集中控制系统,其中就涉及到富士触摸屏和西门子 PLC 中的通信格式的兼容问题。
系统中有些 PID 控制的模拟量需要用趋势图来显示, UG00S-CW 中显示趋势图并不复杂,首先点一下趋势图的图标,在弹出的对话框中选择趋势图的类型,然后选择每条曲线对应的地址即可。但是在联机调试时却总是出现 comunication error (通信错误)信息,经过排查发现问题出在趋势图上,如果将趋势图从程序中去掉,则一切正常,后来我就尝试先将西门子 PLC 中的对应的模拟量数据读入触摸屏的缓冲(即内部存储区),然后将趋势图每条曲线的地址改为对应的内部地址。经过联机调试,发现不再出现 comunication error 信息,但是趋势图的曲线的显示却极不正常。经过观察,发现除了当模拟量的值为零时曲线显示正常,而为非零时曲线则指向无穷大。这个问题曾让笔者百思不得其解,后来终于想到有可能是西门子
PLC 和富士触摸屏在存储格式上可能会不兼容。原来富士触摸屏中趋势图中的模拟量一般都是双字( 4 字节),它从西门子 PLC 读取的顺序是将第一字读为高字,第二个字读为低字,而西门子 PLC 中模拟量的存储为先存低字再存高字,这样富士触摸屏从西门子 PLC 中读入的数据刚好都是高低字颠倒的。因为一般模拟量的值都比较小,所以高字都为零,这样相当于将原来的值乘了一个 2 的 16 次方的数,远远超过了模拟量的上限,所以才出现了以上情况。
为了解决以上问题,需要将 PLC 中的数据读入,然后依次高低字颠倒,然后再将趋势图的曲线地址指向存储修正数据的内部地址即可。为了完成这个功能,需要用到 UG00S-CW 的宏指令,富士 UG00S-CW 平台提供了丰富的宏命令集,
主要有以下几类:
屏幕类,当打开一个界面时可执行的 OPEN macro ,当关闭一个界面时可执行的 CLOSE macro ,当打开一个界面后不断循环执行直到这个界面关闭为止时停止的 CYCLE macro 。
按钮类,当按下一个按钮时可执行的 ON macro 和当松开一个按钮时可执行的 OFF macro 。
宏模式,即宏指令程序段受某一个比特位的控制,当这一位为 1 时执行,为 0 时停止,这个比特位可以是 PLC 中的地址,也可以是触摸屏的内部地址。
富士 UG00S-CW 的宏命令集和汇编语言非常相似,不过此外还增加了许多系统命令功能和辅助功能,使得开发程序更加方便快捷。触摸屏中的存储格式是字,地址用 $u 来表示,例如 $u1000 就表示第 1000 个字, $u1000-14 就表示第 1000 个字的第 14 位,触摸屏中没有用来表示字节的地址表示方式。在这个食品生产线上有多个 PID 控制回路,每个回路对应一个趋势图,以第一个回路为例,它占用 Buffer1 (比较多有 12 个 Buffer 可供使用)趋势图有三条曲线 PV 、 SP 、 OP ,它们所对应的 PLC 地址分别为 DB10 : DBD0 , DB10 : DBD4 , DB10 : DBD8 ,然后将调整后的地址存入定为 $u500~$u505 ,程序段如下:
/* 首先将模拟量读入触摸屏内部,使用块赋值 BMOV 指令,即将 DB10 : DBD0~ DB10 : DBD8 赋值到 $u500~$u505*/
$u500=DB0010 : 0000 C : 12 ( BMOV )
// 下面将各个量的高字和低字颠倒
$u600=$u500 ( W )
$u500=$u501 ( W )
$u501=$u600 ( W )
$u602=$u502 ( W )
$u502=$u503 ( W )
$u503=$u602 ( W )
$u604=$u504 ( W )
$u500=$u505 ( W )
$u505=$u604 ( W )
然后将此程序段拷贝到每一屏幕的 CYCLE macro 中,然后将 buffer 地址初始地址指向 $500 ,抽样模式定为: Constant Sample ,曲线条数(即 No. of Word )定为 3 条,存储长度为 500 ,其他的设置为默认值,趋势图中对应三条曲线的地址改为 $u500,$u502,$u504 ,这样才能保证触摸屏中的数据和 PLC 中的数据同步更新。将程序下载到触摸屏,经过联机测试,一切正常。
3 结束语
富士触摸屏以及西门子 PLC 由于其产品具有很高的稳定性,而且在软件开发上非常高效快捷,因此在工控方面,两者相结合是一个很不错的选择,能够充分发挥两者的优点。但是由于两者毕竟不是同一厂商,所以难免会在某些细节的兼容性上会有纰漏,这是我们在设计工控系统时特别要注意的地方,硬件漏洞软件补是
IT 界永恒不变的方法,在开发商还没有使他们的产品尽善尽美之前,我们应当运用我们自己的智慧来完善我们的系统。