产品描述
青岛西门子中国授权代理商CPU供应商
导读: 本文设计的分布式远程无线监控系统,现场测控采用以色列UNITRONICS 公司具有SMS 功能的M90型PLC,远程无线传输途径选用性能稳定的GSM 公用网络,传输模式采用成熟的SMS 短消息方式,以PLC 现场站定时自动上传到监控的数据为主信息流。
一.引言
SMS 短消息服务业务作为GSM网络的一种基本业务,已得到越来越多的系统运营商和系统开发商的
重视。目前,GSM、CDMA、TDMA 等移动网络都支持SMS,这使SMS 成为一项非常普及的移动数据业务,基于这种业务的各种应用也蓬勃发展起来,如资讯服务、商务、远程监控等。SMS 可以实现全国漫游,同时它克服了传统专网通信系统建网周期长、大、维护费高、用户数量有限的缺点,如果用户使用STK 加密卡,还可实现点对点的保密通信。利用GSM 短信息系统进行的双向数据传送运营、性能稳定,为各种远程监控提供了一个全新的的通信平台。
由于PLC 适合工业企业对自动化系统高性的要求,长期以来,PLC 始终处于工业自动化控制领域的主战场,为各种各样的自动化控制系统提供了、的应用案例。另一方面,PLC 还依靠其他新技术来面对市场份额逐渐缩小所带来的冲击。开放式通信网络技术的应用当其冲,一些PLC 厂商在基于现场总线、internet 及移动通信的PLC 网络互连功能的开发方面已有所突破。
本文设计的分布式远程无线监控系统,现场测控采用以色列UNITRONICS 公司具有SMS 功能的M90型PLC,远程无线传输途径选用性能稳定的GSM 公用网络,传输模式采用成熟的SMS 短消息方式,以PLC 现场站定时自动上传到监控的数据为主信息流,同时设有监控服务器适时呼叫参数和手机加密移动查询功能,从而形成集中与移动方式结合的完整的远程监控应用方案,实践证明该系统功能完备、性能、规模配置灵活、。
二.系统硬件配置及工作原理
该系统由一个集中监控、多个PLC 现场监控站和GSM 网络组成。
2. 1GSM 传输站
GSM 传输站由GSM MODEM、SIM 卡、RS232连接电缆、直流电源和外接天线组成。每一个传输站可很方便的接入GSM 公网。GSM MODEM 集成了使用西门子TC35的GSM 信道单元、信令转换单元、电平转换单元。在应用中,现场PLC 测控站和监控服务器通过RS232接口连接到内插GSM 手机通用的SIM 卡的 GSM MODEM 来发送和接收GSM 短消息,完成远程数据交换功能。DC24V 的直流电源用于现场的GSM 传输站是比较方便的,监控的GSM 传输站可选常用5V 变压器。
2.2现场测控站
一个PLC 现场测控站由各种现场传感器和一台M90 PLC 组成,每一台PLC 分别配置一个GSM 传输站。
现场传感器如流量计、液位计监测到数据以0-5V 获4-20mA 的标准模拟信号形式输入PLC,现场设备状态与开关控制信号接入PLC 的数字I/O 端,由PLC 就可立的实现传统的现场控制。由于M90-PLC 自身具有很强的通信功能包括CAN 总线、基于PSTN 的串口远程通信,别具特色的是它基于串口的SMS 短信收发功能。按照监控系统的要求,M90-PLC 可以将设备工况与产量信息通过GSM 传输站以短信的形式发送给监控,并接收监控或授权的的操作命令短消息,进行现场参数设定和设备控制。
2.3监控
监控主要由监控服务器和打印机等办公设备组成。根据用户的性要求,监控的服务器可以为 一台PC 机或工业用的高性的工控机,还可以配置两台互为冗余的服务器。每个服务器通过RS232接口连接到一个GSM 传输站,实现24小时在线的实时监控,并可通过打印机输出报表,或进行大屏幕的动态监控。
系统结构图如图1所示。
本监控系统以PLC 现场站定时自动上传到监控的数据为主信息流,同时设有手动适时呼叫参数的功能,并配有手机加密移动查询与自动告警功能,形成完整的信息传递模式。监控将分散在各地的各个测控站的数据分类整理,并存入数据库中。如果现场出现了告警信息,现场测控站通过GSM 传输站同时发送告警信息到监控和值班人员的上;监控对告警信息进行统计和分析,并及时通知相关责任人,还可以根据险情启动应急预案,包括现场设备的远程启停控制。当告警排除后,现场测控站同样发送告警排除通知短消息到监控,监控就可以恢复正常的数据采集与状态报告了。
三.系统软件设计
3.1 下位机软件设计
下位机即M90-PLC 测控站的编程是通过使用安装在计算机内的Unitronics 的U90编程软件来实现的。
Unitronics’ 软件工具遵从IEC 113.1 标准,并提供了可视化的集成开发环境。除了具有传统PLC 的助记符和梯形图等控制软件编程功能外,还提供了各种功能模块,包括各种通信功能选择、通信参数设置、短信息内容编辑、1K 内容的现场数据库以及可以具体到某年、某月、某日、某个时间段的多种定时器等,允许我们用多有效的方法去执行各种各样的功能。这样可以很方便的实现监控系统的下位软件编制,并有利于缩短开发周期和节省程序容量。
M90的编程步骤:
(1)接着按照现场控制要求通过的PLC 通用的梯形图方式,实现开关量和标准模拟输测与控制。
(2)按照监控的需要,通过集成开发工具提供的SMS 窗口,实现固定的短消息的编辑与GSM 通信设置;
(3)将代表某个的短消息的内部继电器接入到梯形图中,在满足设定的逻辑条件时,通过触发特有的S 与R 触点,实现短消息的收发。
3.2上位软件设计
上位软件包括上位机SMS收发通信程序、监控界面软件与监控数据库软件三部分。我们选用VB6.0 作为开发工具。
1.上位机SMS 收发通信程序设计
Visual Basic 串口通信由于bbbbbbs 系统程序的支持而变得为方便,而通过串口控制GSM MODEM,实现SMS 功能的方法也比较简单。
GSM 传输站的GSM MODEM 支持AT 命令集的指令,上位机通过RS232串口向GSM
MODEM 直接下发AT 命令,就可以快捷的实现SMS 的收发、查询与处理。SMS 端信息的发送和接收常用两种格式,文本(Text)方式和PDU(Protocol Debbbbbbion Unit)方式.M90 PLC 内部使用的是TEXT 方式,在上位软件设计中我主要针对Text 方式进行了上下位机站的固定文本短消息通信,另设置了TEXT/PDU 模式的转换接口,以便应用于通过手机或PC 进行监控数据库的中文查询功能。
由于篇幅所限,这里尽就Text 方式收发短信息的VB 程序开发做一下介绍。采用Text 方式收发短信息比较简单,使用VB 编写程序为方便。程序中进行初始化设定之后,就可以通过MSComm1控件下发AT 命令进行短信息发送了。下面是一段VB 的短信初始化和测试示例:
mPort=1
‘选择通信口为COM1口
MSComm1.Setting=”9600,N,8,1”1
‘设定串口通信格式:速率为9600bps,无奇偶校‘验,8个数据位,1位停止位
MSComm1.PortOpen=True
‘打开COM 口
MSComm1.Output=”AT+CSCA=”&Chr(34)&”+863800210500”&Chr(34)&”
‘设置西安地区中国联通短信息服务号码
MSComm1.Output=”AT+CMGS=”&Chr(34)&”+”&Chr(34)&”
MSComm1.Output=”Happy New Year!”
MSComm1.PortOpen=FalSe
‘关闭COM 口
2.监控界面与数据库设计
这里介绍一种中小型SMS 远程监控系统界面的设计内容。
监控系统界面主要包括系统登录界面和监控系统主界面。点击监控服务器桌面的SMS 远程监控系统图标,
出现系统登录窗口,系统在检验用户名和密码,确认有效后,即可进控系统主界面。
监控系统主界面又分为系统设置界面、短消息查询与处理界面和远程控制界面。
用户管理:监控用户名、用户密码和用户权限改,用户添加与删除管理
系统通信管理:通信格式设定、SIM 卡号码设定与短消息收发管理
现场站设置:现场单位名、站号、手机号、设备数量等的设定
现场当前信息:各单位的各个现场站点的工作状态查询;如排污口的污水或油井出油量对应的瞬时流量、累积流量,设备状态和运行时间。
息收发:监控与现场站之间短信息收发的分类记录
即时查询:现场站定时上传数据之外,监控用户可进行手动查询现场信息。
设备控制:授权的监控系统用户可进行设备的远程控制,包括参数设定和设备启停。
四、结束语
短消息业务具有永远在线、不需拨号、价格、覆盖范围广等优势,特别适用于需频繁传送小数据量的应用,还适用于偏远地区、架设通信线路困难的地方。而以PLC 为的高性的监控系统,已经为各种各样的自动化控制系统提供了、的应用案例。本文采用GSM 网的SMS 短消息业务,实现了现场PLC 控制站、监控和移动之间的远程数据通信,这是通信技术、控制技术和计算机技术的结合,也使该远程监控系统具有、、经济、便利的显著特色。在生产流水线上、在油井旁、在气输送管道边,无论你在那儿,你就可以通过这种远程监控系统,用或计算机随时监测各种产品的产出量,并进行工况远程移动监控。该系统已在昆明、成都、大连等地多个行业投入运行,实践该系统工作性非常高。
优力PLC UN系列PLC的20条基本逻辑指令。
取指令与输出指令(LD/LDI/LDP/LDF/OUT)
(1)LD(取指令) 一个常开触点与左母线连接的指令,每一个以常开触点开始的逻辑行都用此指令。
(2)LDI(取反指令) 一个常闭触点与左母线连接指令,每一个以常闭触点开始的逻辑行都用此指令。
(3)LDP(取上升沿指令) 与左母线连接的常开触点的上升沿检测指令,仅在位元件的上升沿(由OFF→ON)时接通一个扫描周期。
(4)LDF(取下降沿指令) 与左母线连接的常闭触点的下降沿检测指令。
(5)OUT(输出指令) 对线圈进行驱动的指令,也称为输出指令。
取指令与输出指令的使用说明:
1)LD、LDI指令既可用于输入左母线相连的触点,也可与ANB、ORB指令配合实现块逻辑运算;
2)LDP、LDF指令仅在对应元件有效时维持一个扫描周期的接通。图1中,当M1有一个下降沿时,则Y3只有一个扫描周期为ON。
3)LD、LDI、LDP、LDF指令的目标元件为X 、Y 、M 、T、C、S;
4)OUT指令可以连续使用若干次(相当于线圈并联),对于定时器和计数器,在OUT指令之后应设置常数K或数据寄存器。
5)OUT指令目标元件为Y、M、T、C和S,但不能用于X。
触点串联指令(AND/ANI/ANDP/ANDF)
(1)AND(与指令) 一个常开触点串联连接指令,完成逻辑“与”运算。
(2)ANI(与反指令) 一个常闭触点串联连接指令,完成逻辑“与非”运算。
(3)ANDP 上升沿检测串联连接指令。
(4)ANDF 下降沿检测串联连接指令。
触点串联指令的使用的使用说明:
1)AND、ANI、ANDP、ANDF都指是单个触点串联连接的指令,串联次数没有限制,可反复使用。
2)AND、ANI、ANDP、ANDF的目标元元件为X、Y、M、T、C和S。
3)OUT M101指令之后通过T1的触点去驱动Y4称为连续输出。
触点并联指令(OR/ORI/ORP/ORF)
(1)OR(或指令) 用于单个常开触点的并联,实现逻辑“或”运算。
(2)ORI(或非指令) 用于单个常闭触点的并联,实现逻辑“或非”运算。
(3)ORP 上升沿检测并联连接指令。
(4)ORF 下降沿检测并联连接指令。
触点并联指令的使用说明:
1)OR、ORI、ORP、ORF指令都是指单个触点的并联,并联触点的左端接到LD、LDI、LDP或LPF处,右端与条指令对应触点的右端相连。触点并联指令连续使用的次数不限;
2)OR、ORI、ORP、ORF指令的目标元件为X、Y、M、T、C、S。
块操作指令(ORB / ANB)
(1)ORB(块或指令) 用于两个或两个以上的触点串联连接的电路之间的并联。
ORB指令的使用说明:
1)几个串联电路块并联连接时,每个串联电路块开始时应该用LD或LDI指令;
2)有多个电路块并联回路,如对每个电路块使用ORB指令,则并联的电路块数量没有限制;
3)ORB指令也可以连续使用,但这种程序写法不使用,LD或LDI指令的使用次数不得过8次,也就是ORB只能连续使用8次以下。
(2)ANB(块与指令) 用于两个或两个以上触点并联连接的电路之间的串联。ANB指令的使用说明:
1)并联电路块串联连接时,并联电路块的开始均用LD或LDI指令;
2)多个并联回路块连接按顺序和的回路串联时,ANB指令的使用次数没有限制。也可连续使用ANB,但与ORB一样,使用次数在8次以下。
置位与复位指令(SET/RST)
(1)SET(置位指令) 它的作用是使被操作的目标元件置位并保持。
(2)RST(复位指令) 使被操作的目标元件复位并保持清零状态。
SET、RST指令的使用如图6所示。当X0常开接通时,Y0变为ON状态并一直保持该状态,即使X0断开Y0的ON状态仍维持不变;只有当X1的常开闭合时,Y0才变为OFF状态并保持,即使X1常开断开,Y0也仍为OFF状态。
SET 、RST指令的使用说明:
1)SET指令的目标元件为Y、M、S,RST指令的目标元件为Y、M、S、T、C、D、V 、Z。RST指令常被用来对D、Z、V的内容清零,还用来复位积算定时器和计数器。
2)对于同一目标元件,SET、RST可多次使用,顺序也可随意,但后执行者有效。
微分指令(PLS/PLF)
(1)PLS(上升沿微分指令) 在输入信号上升沿产生一个扫描周期的脉冲输出。
(2)PLF(下降沿微分指令) 在输入信号下降沿产生一个扫描周期的脉冲输出。
利用微分指令检测到信号的边沿,通过置位和复位命令控制Y0的状态。
PLS、PLF指令的使用说明:
1)PLS、PLF指令的目标元件为Y和M;
2)使用PLS时,仅在驱动输入为ON后的一个扫描周期内目标元件ON,如图3-21所示,M0仅在X0的常开触点由断到通时的一个扫描周期内为ON;使用PLF指令时只是利用输入信号的下降沿驱动,其它与PLS相同。
主控指令(MC/MCR)
(1)MC(主控指令) 用于公共串联触点的连接。执行MC后,左母线移到MC触点的后面。
(2)MCR(主控复位指令) 它是MC指令的复位指令,即利用MCR指令恢复原左母线的位置。
在编程时常会出现这样的情况,多个线圈同时受一个或一组触点控制,如果在每个线圈的控制电路中都串入同样的触点,将占用很多存储单元,使用主控指令就可以解决这一问题。MC、MCR指令的使用如图8所示,利用MC N0 M100实现左母线右移,使Y0、Y1都在X0的控制之下,其中N0表示嵌套等级,在无嵌套结构中N0的使用次数无限制;利用MCR N0恢复到原左母线状态。如果X0断开则会跳过MC、MCR之间的指令向下执行。
MC、MCR指令的使用说明:
1)MC、MCR指令的目标元件为Y和M,但不能用特殊辅助继电器。MC占3个程序步,MCR占2个程序步;
2)主控触点在梯形图中与一般触点垂直(如图3-22中的M100)。主控触点是与左母线相连的常开触点,是控制一组电路的总开关。与主控触点相连的触点用LD或LDI指令。
3)MC指令的输入触点断开时,在MC和MCR之内的积算定时器、计数器、用复位/置位指令驱动的元件保持其之前的状态不变。非积算定时器和计数器,用OUT指令驱动的元件将复位,22中当X0断开,Y0和Y1即变为OFF。
4)在一个MC指令区内若再使用MC指令称为嵌套。嵌套级数多为8级,编号按N0→N1→N2→N3→N4→N5→N6→N7顺序增大,每级的返回用对应的MCR指令,从编号大的嵌套级开始复位。
堆栈指令(MPS/MRD/MPP)
堆栈指令是FX系列中新增的基本指令,用于多重输出电路,为编程带来便利。在FX系列PLC中有11个存储单元,它们专门用来存储程序运算的中间结果,被称为栈存储器。
(1)MPS(进栈指令) 将运算结果送入栈存储器的段,同时将先前送入的数据依次移到栈的下一段。
(2)MRD(读栈指令) 将栈存储器的段数据(后进栈的数据)读出且该数据继续保存在栈存储器的段,栈内的数据不发生移动。
(3)MPP(出栈指令) 将栈存储器的段数据(后进栈的数据)读出且该数据从栈中消失,同时将栈中其它数据依次上移。
堆栈指令的使用说明:
1)堆栈指令没有目标元件;
2)MPS和MPP配对使用;
3)由于栈存储单元只有11个,所以栈的层次多11层。
逻辑反、空操作与结束指令(INV/NOP/END)
(1)INV(反指令) 执行该指令后将原来的运算结果取反。反指令的使用如图10所示,如果X0断开,则Y0为ON,否则Y0为OFF。使用时应注意INV不能象指令表的LD、LDI、LDP、LDF那样与母线连接,也不能象指令表中的OR、ORI、ORP、ORF指令那样单使用。
(2)NOP(空操作指令) 不执行操作,但占一个程序步。执行NOP时并不做任何事,有时可用NOP指令短接某些触点或用NOP指令将不要的指令覆盖。当PLC执行了用户存储器操作后,用户存储器的内容全部变为空操作指令。
(3)END(结束指令) 表示程序结束。若程序的后不写END指令,则PLC不管实际用户程序多长,都从用户程序存储器的步执行到后一步;若有END指令,当扫描到END时,则结束执行程序,这样可以缩短扫描周期。在程序调试时,可在程序中插入若干END指令,将程序划分若干段,在确定程序段无误后,依次删除END指令,直至调试结束。
FX系列PLC的步进指令
1.步进指令(STL/RET)
步进指令是专为顺序控制而设计的指令。在工业控制领域许多的控制过程都可用顺序控制的方式来实现,使用步进指令实现顺序控制既方便实现又便于阅读修改。
FX2N中有两条步进指令:STL(步进触点指令)和RET(步进返回指令)。
STL和RET指令只有与状态器S配合才能具有步进功能。如STL S200表示状态常开触点,称为STL触点,它在梯形图中的符号为-|| ||- ,它没有常闭触点。我们用每个状态器S记录一个工步,例STL S200有效(为ON),则进入S200表示的一步(类似于本步的总开关),开始执行本阶段该做的工作,并判断进入下一步的条件是否满足。一旦结束本步信号为ON,则关断S200进入下一步,如S201步。RET指令是用来复位STL指令的。执行RET后将重回母线,退出步进状态。
2.状态转移图
一个顺序控制过程可分为若干个阶段,也称为步或状态,每个状态都有不同的动作。当相邻两状态之间的转换条件得到满足时,就将实现转换,即由上一个状态转换到下一个状态执行。我们常用状态转移图(功能表图)描述这种顺序控制过程。,用状态器S记录每个状态,X为转换条件。如当X1为ON时,则系统由S20状态转为S21状态。
状态转移图中的每一步包含三个内容:本步驱动的内容,转移条件及指令的转换目标。如图1中S20步驱动Y0,当X1有效为ON时,则系统由S20状态转为S21状态,X1即为转换条件,转换的目标为S21步。
3.步进指令的使用说明
1)STL触点是与左侧母线相连的常开触点,某STL触点接通,则对应的状态为活动步;
2)与STL触点相连的触点应用LD或LDI指令,只有执行完RET后才返回左侧母线;
3)STL触点可直接驱动或通过别的触点驱动Y、M、S、T等元件的线圈;
4)由于PLC只执行活动步对应的电路块,所以使用STL指令时允许双线圈输出(顺控程序在不同的步可多次驱动同圈);
5) STL触点驱动的电路块中不能使用MC和MCR指令,但可以用CJ指令;
6)在中断程序和子程序内,不能使用STL指令。
一、选择合适的网络
对于一个自动化工程(特别是中大规模控制系统)来讲,选择网络是很重要的,甚至有人提出了“网络就是控制器”的概念。,网络是开放的,以方便不同设备的集成及未来系统规模的扩展;其次,针对不同网络层次的传输性能要求来选择网络的形式,这在较深入地了解该网络标准的协议、机制的前提下进行;另外,综合考虑系统成本、设备兼容性、现场环境适用性等具体问题,确定不同层次所使用的网络标准。一个实时系统的性能可从时间、性和应用对象三个方面来衡量。
二、掌握PLC扫描原理
与其它控制设备比较,PLC重要的特征是“扫描”。PLC上电后,自动重复执行程序扫描和I/O扫描,即输入采样、用户程序执行和输出刷新三个阶段。完成上述三个阶段称作一个扫描周期。在输入采样阶段,PLC以扫描方式依次地读入所有输入状态和数据,并将它们存入I/O 映象区中相应的单元内,输入采样结束后,转入用户程序执行和输出刷新阶段,即使输入状态和数据发生变化,I/O 映象区中的相应单元的状态和数据也不会改变。在用户程序执行阶段,PLC按由上而下、先左后右的顺序依次地扫描程序(梯形图),根据逻辑运算的结果,刷新RAM存储区或I/O映象区对应单元的状态。在输出刷新阶段,根据I/O映象区内对应的状态和数据刷新所有的输出锁存电路,再经输出电路驱动相应的外设,这时,才是PLC 的真正输出。可见,采用PLC程序控制的过程和结果与继电器逻辑回路是有区别的,特别是涉及到梯级的次序、脉冲信号的捕捉等,与PLC的扫描原理是密切相关的。实践中,大量的程序问题均源于此,常常会出现不可思议的。因此,设计PLC程序,精通PLC的基本原理。
三、力求结构化程序设计
提高程序的质量,提高编程效率,使程序具有良好的可读性、性、可维护性以及良好的结构,是每位程序设计者的目标。IEC61131-3是电工(IEC)于1999年推出的用于工业控制领域的标准化编程语言,具有开放性、可移植性、结构化编程和结构化数据、检错和纠错能力强等特点,适用于PLC编程。采用结构化程序设计,便于构造程序(尤其是复杂的程序)、多人设计,调试以及软件管理。虽然软件工程的思想已被绝大部分程序员所接受,但要将这种思想转化为软件开发过程中的自觉行为却不是一件很容易的事。
四、重视抗干扰措施
自动化系统应用于恶劣的工业现场,抗干扰措施尤为重要。实践中,经常出现由于干扰导致调试失败甚至设备损坏的事例。自动化系统的干扰,有以下3类来源:
1)空间辐射干扰;
2)系统外部线路,包括电源线、信号线、接地系统等引入的干扰;
3)系统内部电磁辐射及线路干扰。
五、针对这些干扰,在工程实施中要考虑以下措施:
1)在系统结构设计与设备选型时,充分考虑环境适应性和电磁兼容性;
2) 采用性能优良的电源,抑制电网引入的干扰;
3)合理选择和敷设电缆、电线;
4)硬件上采取隔离装置或滤波装置;
5)软件上采取提高性的措施,如数字滤波、定时校正参考点电位、信息冗余等;
6)正确选择接地方式,一般采用一点接地和串联一点接地。
产品推荐