6ES7313-6CG04-0AB0性能参数
在很多设备中经常会遇启动/停止,前进/后退等等的这样操作,操作者通常希望用一个按钮来实现:按一下启动,再按一下停止;如此循环往复。把这样的按钮称为双稳态按钮,即有两种稳定状态;接通和断开都能保持,我们在设计中经常会遇到控制面板的按键位置不够和PLC的输入点数不够等这一问题。如果在PLC程序中把按键做成双稳态的,一个按钮身兼二职。这一问题就可以迎刃面解了,可见PLC程序把按钮做双稳态,在经济上是合算的。
2。成双稳态按钮的三种方法
2。1通过SET和RST指令来实现。
图1通过SET和RST指令来实现
点击此处查看全部新闻图片
图1程序中,当第一次按下按钮X0。此时第一条支路因串联的M1为常闭点,而使M0接通条件满足置位。第二条支路的执行条件不满足,暂不去理会。再看第三条支路,假设持续按着按钮不释放,因支路中串联进X0的常闭点而使接通条件不满足,直到释放按钮X0,因串联的M0已经置位,从而使M1和Y0输出保持为"1"。当第二次按下按钮X0时,因为M0的状态为"1",第一条支路条件不满足,第三条支路因X0的按钮下而使M1和Y0输出为"0",M1由"1"变为"0"产生一个下降沿,使M0复位为"0",从而使M1和Y0的"0"状态得以保持,即使释放按钮X0以后,之后对按钮X0的操作,又重复上述过程。可见得到的是一个双稳态按钮。2。2利用PLC基本逻辑指令来实现
图2利用PLC基本逻辑指令来实现
点击此处查看全部新闻图片
PLC程序是按一定的PLC扫描周期循环往复地的执行程序代码。在每一个PLC扫描周期内,先读入输入内的信号状态,然后执行用户程序,*后刷新输出信号状态。用户程序的执行是按照先后顺序自上往下依次执行的。图2程序中正是充分利用了PLC程序的程序的执行特点。现在分析它的工作过程。按一下按钮,使X0变为"1",在第一个PLC扫描周期内,M0变为"1",M1变为"1"。M1等于"1"会使M0变为"0",但M0的状态变化要到下一个PLC扫描周期才会执行,可见M0是宽度为1个PLC扫描周期的脉冲信号。因为M0等于"1"。这样会使原来状态为"0"的Y0变为"1"从第二个PLC扫描周期起,不论X0变为"0"或保持为"1",M0都变为"0"并稳定在"0"上,这样Y0通过M0常闭点与Y0常开点串联的支路保持为"1"状态。再按一下按钮,M0又产生宽度为1个PLC扫描周期的脉冲信号,这个脉冲信号使原来状态为"1"的Y0变为’’0"并稳定在"0"上。如此每次按一下按钮,Y0就在"0"和"1"之间切换一次,形成双稳态信号。
2。3借助于算术运算指令来实现
图3借助于算术运算指令来实现
点击此处查看全部新闻图片
数字电路中,如果把输出的"非"端反馈到D触发的"D"输入端。则每来一个时钟冲,D触发器的状态就翻转一次。图3所示的程序借鉴了数字电路中的D触发器的工作原理,按钮X0每按下一次,就相当于给触发器CP端输入一个触发脉冲。相加所得和的*低位状态,就翻转一次,如果Y0取之*低位,就可得到周期性状态,在“0”、“1”之间变化的双稳态信号。为了避免加法的计算结果溢出,用M0和M3使期复位,就又重新开始累加。
3。结束语
文章开始提到的启动/停止,前进/后退等两种状态,也可以选用具有保持功能的三位选择开关,这是一种硬件实现方案。也可以选用本文所述的软件实现方案。殊途同归。但通过软件的方式,却节省PLC输入点的开销。如果PLC的输入非常紧张,这是一种行之有效的方法,但若是输入点绰绰有余,这样做就有画蛇添足之嫌了。软件方案和硬件方案哪一是**的,那就要看实际情况而定了。如果硬件很贵,那就用软件人来实现这一功能。如果硬件很便宜。那何不充分发挥硬件的功能。PLC输入点的问题正是如此。适合才是**的
1引言
由于变频器具有优良的控制特性以及其高效节能的特点,使得变频器近几年在各个领域被广泛的采用。在某些场合,需要用一台工控机灵活地控制多台变频器,以达到控制交流电机的目的。在油田输油控制系统中,多台变频器的控制问题成为关键,按照以往的控制方法,需要使用PLC或者控制电路板来控制变频器。然而使用这种方法造价高、系统复杂、布线量大、故障率高,因此亟需一种结构简单、造价低廉、可靠性高的系统来实现多台变频器的控制。
针对这一需要,一些公司(如日本三菱、德国西门子、日本东芝等)推出了带有RS-485通信接口的变频器,使用户能方便灵活地选择变频器的强大功能,设计各自的工业控制系统。因此,我们可以充分利用厂商提供的工业总线接口,使控制系统布线简洁,稳定可靠。
目前,我们在利用工业总线接口开发用户程序时,大部分都是基于DOS环境下的,随着bbbbbbs操作系统的普及使得DOS单任务系统固有的缺陷显得日益突出,人们越来越希望能在bbbbbbs的环境下进行工业控制。
在bbbbbbs 9X下开发工控软件,不仅可以实现多任务操作,充分利用硬件资源,而且可以利用bbbbbbs 9X下丰富的开发工具,方便地生成各种菜单及友好的图形界面,软件产品质量高且开发周期短。但在bbbbbbs 9X环境下,系统完全接管了各种硬件资源,不允许用户直接对系统硬件进行控制。如何在bbbbbbs 9X/NT环境下开发微机的底层资源,已成为当今工控业的一个值得探讨的课题。
本文以三菱FR-A500变频器的串行通信为例,利用Visual Basic 6.0的ActiveX控件—Microsoft Communication控件,通过对变频器串行通信协议的分析,解决了bbbbbbs 9X环境下与多个变频器的串行通信, 成功地实现了用单台工控PC机对多台交流异步电机的灵活控制,从而在bbbbbbs9X环境下如何实现串行通信的问题上作了有益的尝试。
2 油田输油控制系统的简介
由于多台变频器的控制技术是油田输油控制系统中的关键,所以有必要简单介绍一下本控制系统的概况。
油田输油控制系统主要有以下几部分构成,图1所示:
1. 中央控制器,主要一台工控计算机及其通信模块构成,它主要负责发送控制指令及控制参数,并根据现场返回的工况数据调整控制参数;
2. 监控信号和管道反馈信号由RS—485总线连接到中央控制器;
3. 泵站1~n主要油泵、变频器、通信适配器、管道传感器等构成;
图1 油田输油控制系统结构组成
控制系统的通信原理
根据油田输油控制系统的要求,我们给出了通信原理框图(图2),这里只重点突出工控PC机与变频器RS—485的接口部分。RS—485的驱动器可带32个接收器,在波特率为100Kbit/s时,通信距离可达到1200m; 通信距离为15m时,波特率可达10Mbit/s。在工业现场,RS-485是应用较多的一种通信方式。
图2 中工控PC机通过RS-232C—RS-485转换器与多个变频器相连接,*多可达到32台。每个变频器被赋予各自的地址码用以识别身份,这样,上位机便能通过RS-485通信线,对挂在上面的所有变频器进行控制操作。
图2 通信原理框图
变频器的串行口通信协议分析
通过对油田输油控制系统的结构设计,以及对三菱FR-A500变频器原理及通信方式的研究,我们发现三菱FR-A500变频器的通信方式为异步半双工RS—485协议;波特率19200bit/s,9600bit/s,4800bit/s 可选;ASCII 7或8位数据位可选;1位奇偶校验可选;1或2位停止位可选。其通信协议的数据格式有十种,分别为:
A,A’,B,C,D,E,E’,F,G,H;
下面以格式A为例简要说明一下变频器通信协议:
格式A的功能是变频器运行频率、运行参数的写入和复位变频器,其结构如下:
/plc/plcedit/UploadFile/201122392731916.jpg
其他的数据格式的功能如下:格式A’ 用于运行指令的写入,其对应的应答数据格式为格式C和格式D;格式 B用于监视变频器的运行参数(频率、电压、电流、转速)及读出变频器的系统参数,其对应的应答数据格式为E、E’、F、G、H。
一般情况下,变频器通过操作面板(PU)来设置变频器参数,一旦参数设定好了,就不能改变,这样很难通过现场信号进行实时的控制。通过以上对变频器通信协议的分析,考虑用软件来实现工控机与变频器的串行通信,利用软件可以灵活的实现系统所需的各种功能而不必改动现场的硬件电路,而且RS-485通信线*多能同时控制32台变频器,同时,各变频器的运行状态也能实时地回送给上位机。
5 控制系统通信控制软件设计
5.1串口通信程序设计方法
基于对系统结构和变频器串口通信协议的分析,必须对工控计算机的串行口进行编程。在DOS的操作系统下,计算机所有的硬件对编程人员是透明的,因此比较容易进行内存管理和硬件中断管理,所以程序的响应速度快。但是,DOS是单任务操作系统,对硬件资源浪费严重,并且在进行图形界面编程时其难度和任务量都远远超过了对硬件部分的编程。因此我们采用bbbbbbs 9X操作系统和基于此平台的开发软件来编写控制系统软件。
在bbbbbbs 9X环境下,操作系统完全接管了各种硬件资源, 不允许用户程序直接读写硬件端口和进行中断管理。所以早期的程序员只能通过数目众多的API函数来控制端口,使用起来很不方便。
本系统利用VB6.0下提供了一个ActiveX控件(Microsoft Communication控件, 简称MSComm 控件)来实现串行口的通信设计。通过在应用程序中嵌入MSComm控件的方式,进行计算机串口的通信管理,下面简要介绍一下MSComm控件的功能:
MSComm 6.0控件可以实现数据缓冲区的管理,bbbbb (从缓冲区读取接收数据)的数据类型为Variant,从缓冲区读取数据的格式为字符串格式(Text)或二进制格式(Binary)。
MSComm控件提供的具体功能如表1:
其中串口号(CommPort)设置为1、2 … n等表示COM1、COM2 … COMn。参数设置(Settings)的格式为“BBBB,P,D,S”,BBBB表示波特率,P表示奇偶校验(N:无校验,E:偶校验,O:奇校验),D表示字节有效位数,S表示停止位数。串口状态(PortOpen)为BOOL变量,TRUE表示打开串口,FALSE表示关闭串口。bbbbbMode使程序能方便地选择从缓冲区读取数据的格式,设置为0时,为字符串格式(Text),设置为1时,为二进制格式(Binary)。bbbbbLen设置或返回的是用bbbbb从缓冲区读字符串时每次读出的字符个数,这个性质对于读出数据块中定长数据串非常有用。
InBufferCount和OutBufferCount用于串口的查询方式。对于较复杂的通信任务,可通过Com9Xvent处理串口的事件,当相应事件或串口错误事件发生时,系统会激活OnComm事件,在OnComm中添加用户的处理代码,则可实现类似DOS中断的串口处理程序。
5.2变频器串口通信软件结构
为了用该控件控制一个串口进行通信操作,还必须在应用程序中插入该控件。为此,将MSComm控件插入到程序的某个对话框,并为这个控件对象命名为MSComm1,则程序中对串口的各种操作都可通过对象MSComm1来实现。
下面是串口控制子程序的流程图:
图3 变频器串行通信软件程序流图
6 结束语
本文利用Win9X下的ActiveX控件和三菱变频器RS-485的串行通信功能,成功实现了在Win9X环境下单台IPC机对多台三菱变频器的控制,并能实时检测各变频器的运行状态。整个控制系统灵活方便,具有很大的实用性。本文在Win9X下多台变频器控制的设计方案及软件实现为此类问题的解决作了很好的尝试与探索。与DOS方式的控制相比,具有开发周期短、充分利用硬件资源、软件界面美观等优点。但由于Win9X是多任务分时操作系统,所以该系统不能做到强实时控制,这是今后有待改进的地方。