产品描述
西门子6ES7231-0HF22-0XA0技术介绍
0 引言
随着计算机网络及现场总线技术技术的发展,PLC及触摸屏在工业控制和楼宇自动化中的应用非常广泛。现场总线技术及其总线接口模块、智能仪表、控制设备等组成的综合监控系统已成为当前自动化技术发展的一个重要方向。在工控领域,PLC与触摸屏结合运用的技术已越来越为工程人员所了解与熟悉 ,由于触摸屏具有操作简便、界面美观直接、编程容易掌握、与PLC通讯良好、抗干扰能力强等等特点 ,它正迅速地渗入各个行业 ,发挥自动化控制的较大优势。
PROFIBUS提供了两种通信协议:DP、FMS,富士UG系列的触摸屏支持其中的DP协议。富士触摸屏具有很强的兼容性,可以与近30个厂家的PLC通讯,兼容性极强,而且还可以和计算机通讯(开放式通讯协议)。
通过接口单元、UG031-P通讯卡及总线的连接,UG触摸屏可以作为从站和作为主站的西门子的S7-300或S7-400系列的PLC通信。
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显示,基于bbbbbbs95/98/NT操作平台下的**组态软件,界面友好直观,易学易用,大大节省产品开发周期。编程软件中备有大量的图形库(开关、灯、棒图等)供选择,还可以根据用户需求编辑所需要的工艺图形,能够转换BMP文件和AUTO中的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界永恒不变的方法,在开发商还没有使他们的产品尽善尽美之前,我们应当运用我们自己的智慧来完善我们的系统。
和利时的LM系列PLC产品充分考虑了大型控制系统中遇到的机器设备、子系统集成困难问题,提供了多种开放式的通讯协议和接口,包括Modbus RTU主从站接口、Profibus-DP、自由协议、Modbus Tcp以太网接口、CAN、GPRS通讯以及短信。
和利时科技集团LM系列PLC自2004年面世以来,经受住了现场恶劣环境的考验、满足了复杂的用户需求。为满足在各行业控制系统互联、通讯与共享的要求,LM系列PLC产品通过开放式系统设计、丰富的通讯方式受到业界的爱戴。
LM系列PLC产品充分考虑了大型控制系统中遇到的机器设备、子系统集成困难问题,提供了多种开放式的通讯协议和接口,包括Modbus RTU主从站接口、Profibus-DP、自由协议、Modbus Tcp以太网接口、CAN、GPRS通讯以及短信。
通过上述各种通讯方式,LM系列PLC产品可通过以太网、Profibus-DP、串口、GPRS或短信等方式向上位组态软件或大型PLC上传数据,并接受控制命令,实现系统的远程监控。在控制层,可通过串口通讯、以太网通讯方式实现PLC间的数据交换,实现控制层的数据共享。向下可通过串口通讯的方式实现对变频器、仪表等智能控制设备数据采集与控制。多种通讯方式让LM系列PLC产品作为纽带使整个控制系统实现无缝链接。
公司凭借在自动化领域多年的经验积累,充分发挥其自身技术优势,以其先进的产品及专业的技术服务团队为广大用户提供个性化、*的整体解决方案,并将先进制造技术、信息技术和智能技术进行融合,帮助用户实现智能制造。为用户创造专业先进的解决方案、高性价比的控制产品、周到及时的增值服务,以实现“用自动化改变人们的工作、生活和环境”为目标,为提升用户的行业竞争力创造价值。
在如何编写把十进制数转化成ASCII的程序之前,应先知道十进制数与之对应ASIIC码的数学关系及将它们存放存储器的数制表示形式:
1、每一位十进制数其值为0~9,其二进制值为:0000~1001,放在字节存储器将占用4个二进制数的位。一个字节内含8个二进制数的位,故一个字节可表示2位十进制数。这种用4位二进制数表示一位十进制数的数制叫BCD码。
2、每一位十进制数“X”转换为ASIIC码的原则为:30+X 如 X=4,其对应ASIIC码=34,将其放入一字节存储器里用二进制数表示:0011_0100,用16进制数表示:16#34
3、如被转换的十进制数较大为4位数,用BCD码表示可占一个字存储器空间,设为字存储器为MW10,MW10含2个字节,高字节为MB10,低字节为MB11。MB10的高4位为十进制数的千位数值,MB10的低4位为十进制数的百位数值。MB11的高4位为十进制数的十位数值,MB11的低4位为十进制数的个位数值。如将此4位十进制数转换为ASIIC码,需占用一个双字存储器空间,如VD10,它含有4个字节,每个字节代表一位ASIIC码,其每个字节的高4位数值皆=0011(3),低4位数为十进制数对应的数值,如十进制数1234,放入字存储器MW10里。其内容=0001_0010_0011_0100,用16进制数表示为:16#1234,转换为ASIIC码值放入VD10里,其内容=0011_0001_0011_0010_0011_0011_0011_0100,用16进制数表示:16# 31 32 33 34。
了解上述3点,就可以很容易编出把十进制数转化成ASCII的程序:
设MW10为4位十进制数存储区(存数形式为BCD码),VD10为转换为ASIIC码D的存数区。编程可以这样处理:
1、将16#30303030送入VD10.
2、将MB10右移4位送入MB8,再将MB8或入VB10。
3、将MB10与16#0F相与,送入MB8,再将MB8或入VB11。
4、将MB11右移4位送入MB8,再将MB8或入VB12。
5、将MB11与16#0F相与,送入MB8,再将MB8或入VB13
在数字系统中,各种数据要转换为二进制代码才能进行处理,而人们习惯于使用十进制数,所以在数字系统的输入输出中仍采用十进制数,这样就产生了用四位二进制数表示一位十进制数的方法,这种用于表示十进制数的二进制代码称为二-十进制代码(Binary Coded Decimal),简称为BCD码。它具有二进制数的形式以满足数字系统的要求,又具有十进制的特点(只有十种有效状态)。在某些情况下,计算机也可以对这种形式的数直接进行运算。常见的BCD码表示有以下几种。
8421BCD编码
这是一种使用较广的BCD码,是一种有权码,其各位的权分别是(从较有效高位开始到较低有效位)8,4,2,1。
例 写出十进数563.97D对应的8421BCD码。
563.97D=0101 0110 0011 . 1001 01118421BCD
例 写出8421BCD码1101001.010118421BCD对应的十进制数。
1101001.010118421BCD=0110 1001 . 0101 10008421BCD=69.58D
在使用8421BCD码时一定要注意其有效的编码仅十个,即:0000~1001。四位二进制数的其余六个编码1010,1011,1100,1101,1110,1111不是有效编码。
2421BCD编码
2421BCD码也是一种有权码,其从高位到低位的权分别为2,4,2,1,其也可以用四位二进制数来表示一位十进制数。其编码规则如下表。
余3码
余3码也是一种BCD码,但它是无权码,但由于每一个码对应的8421BCD码之间相差3,故称为余3码,其一般使用较少,故正须作一般性了解,具体的编码如下表。
常见BCD编码表
十进制数 8421BCD码 2421BCD码 余3码
0 0000 0000 0011
1 0001 0001 0100
2 0010 0010 0101
3 0011 0011 0110
4 0100 0100 0111
5 0101 1011 1000
6 0110 1100 1001
7 0111 1101 1010
8 1000 1110 1011
9 1001 1111 1100
10 0001,0000 0001,0000 0100,0011
非压缩式和压缩式:
BCD又分为两种,非压缩式和压缩式两种。
这种81秒存成 “08,01” 是非紧密式,而紧密式会存成 “81h”
(直接以十六进制储存)。
非压缩的BCD码只有低四位有效,而压缩的BCD码则将高四位也用上了,就是说一个字节有两个BCD码。
BCD是用0和1表示十进制,如0000表示0,0001表示1,0010表示2,举例子1234表示成0001001000110100,而压缩的bcd是用00表示0,01表示1,10表示2,110表示3等,但压缩的BCD并不固定,可看情况而定,所要的就是用较少的位数表示尽可能多的数
西门子的工控软件,尤其像WinCC安装起来有时候并不是那么顺手,可能会遇到各种问题。WinCC安装之前,硬件和软件都应该正确配置,在安装过程中,WinCC安装程序会注意检查是否满足以下安装条件:
1.你所安装的操作系统 2.用户是否有管理员权限 3.显示器分辨率 4.IE的版本 5.微软消息队列服务是否安装(Microsoft message queuing services) 6.是否已经重启过计算机。如若其中有条件不满足,WinCC会停止安装,并报出错信息。
消息一:必须的操作系统 bbbbbbs XP/bbbbbbs 2000 SP2。
消息说明:此版本的WinCC必须安装在bbbbbbs XP/bbbbbbs 2000 SP2操作系统环境下。解决办法,是您的计算机需要安装bbbbbbs XP/bbbbbbs 2000 SP2,如果计算机性能较为强大,并且安装了bbbbbbs7或者更高版本的bbbbbbs,可以使用虚拟机安装如VM或者Oracle的Virtual BOX虚拟机,先在虚拟机下安装bbbbbbs XP/bbbbbbs 2000 SP2操作系统,再安装WinCC。
消息二:为了正确安装WinCC,请重启计算机。
消息说明:在WinCC安装前,重新启动计算机。
消息三:需要管理员权限来安装WinCC。
消息说明:在bbbbbbs XP/bbbbbbs 2000下,使用管理员帐户登录。(P.S:如果您是在更高的操作系统版本如bbbbbbs7下安装高版本的WinCC如WinCC V7.0,管理员身份登录后,安装前应右键安装程序,以管理员身份运行)
消息四:该安装程序需要VGA或者更高的分辨率。
消息说明:检查你的显示器设置,需要VGA以上的分辨率,(P.S:VGA 指640×480的分辨率,现在一般的PC配备的显示器都超过了这个分辨率,所以只要您把显示器分辨率设置在VGA之上即可)
消息五:未安装Microsoft消息队列服务(Microsoft message queuing services)。
消息说明:请先安装Microsoft消息队列服务(Microsoft message queuing services),为此,可能需要您的bbbbbbs安装光盘。出错消息五可能是每个用户**安装WinCC都会碰到的出错消息,在bbbbbbs 2000下:单击开始—设置—控制面板—添加/删除程序—添加/删除bbbbbbs组件,安装消息队列服务即可。在bbbbbbs XP下的解决办法是:控制面板—添加或删除程序—添加删除bbbbbbs组件—消息队列,点击下一步,安装消息队列即可。有些安装了非正式版的bbbbbbs可能需要插入安装光盘。
消息六:未安装所需要的SQL Server 2000 SP3。
消息说明:从所附光盘中,在安装WinCC之前首先安装Microsoft SQL Server 2000 SP3。注意,在XP/2000环境下,必须首先安装Microsoft SQL Server 2000 SP3或者SP4,并且这个SQL server2000的版本也只能安装XP/2000的环境中,在bbbbbbs7下是不能安装成功的,自然也就不能安装WinCC 了。bbbbbbs 7需要SQL server 2005。
七、安装注意事项
1, 安装时要求反复重新启动电脑的解决办法。 开始--运行--输入regedit--删除
HKEY_LOCAL_MACHINE--
System--CurrentcontrolSet--
Control--Session Manager--
PendingFileName operations中
的PendingFileName operations
删除就可以不重启安装了
2, 未安装Microsoft消息队列服务,系统盘是镜像版,一时又找不到安装版系统怎么办。网上搜索msmq下载,安装时*到你下载的msmq路径即可。安装提示 无法启动MSMQ服务 错误代码:0x42c 错误描述:依存服务无法启动。 解决办法:
开始--运行--cmd
net stop msdtc
msdtc -uninstall
msdtc - install
net start msdtc
3,以前安装过wincc,没卸载净导致无法安装。解决办法,手动删除以前的wincc安装目录后,打开注册表,搜索wincc,把带有wincc的项全删除,在安装就ok了。
4,提示缺少 KB319740补丁,采用原有的SP2版本的KB319740系统会提示版本过低,
产品推荐