1、上位机与PLC之间通讯实现
欧姆龙PLC—CJ1M(CPU21)有两个串行通讯口,一是通过欧姆龙专用串口通讯线CS1W-CN226,其网络类型设置为Toolbus,将DIP4串行通讯设状态置为ON;一是通过欧姆龙九针串口通讯线XM2Z-200S-CV,其网络类型设置为SYSMAC WAY,其它为默认设置,包括端口为COM1,波特率为9600。图1所示为上位机通过RS-232C端口连接到PLC的示意图,也可以称作1:1连接。
图1 RS-232C端口的1:1连接
图2所示为上位机与PLC之间通讯实现过程。
图2 上位机与PLC之间通讯实现过程
2. VB与PLC之间通讯协议和程序实现
2.1 链接系统的通讯协议
在纱线数据通讯中,只需要在上位机系统中编写上位机通讯程序,无需在PLC中编写任何程序,PLC CPU会根据上位机发来的命令帧自动生成响应帧返回给上位机。命令帧和响应帧之间包含需要通讯的数据,只有保证正确实现命令帧和响应帧之间的应答,才能实现准确的数据交换。命令和应答有两种方式,一种是从上位机发命令到PLC,另一种方式允许PLC发命令给上位机,我们采用浅一种方式。
从上位机发送命令时的命令帧和响应帧如图3。
图3 命令帧和响应帧格式
命令帧中:
@——命令开始标志,所有命令都以“@”开始;
节点号——与上位机连接的PLC,在1:1连接中默认值为00;
标题码——设置两字节的命令代码,如RD代表读PLC的DM区数据;
正文——设置命令参数
FCS——设置两字符的帧检查顺序码,用于校验,是用两位ASCII码表示的8位数据,是从“@”开始到正文结束的所有字符的ASCII码按位异或运算的结果;
结束符——表示命令的结束,用“*”和回车符“CHR$(13)”标明。
应答帧中:
@、节点号、标题码、FCS和结束符同命令帧中的含义。
异常号——返回命令的执行状态,,是否有错误发生。
2.2 通讯端口初始化
在上位机与PLC实现通讯之前,必须先在上位机VB中设置通讯控件MSComm1的相应属性,通讯口初始化程序一般放在窗体加载程序中。
Private Sub bbbb_Load()
MSComm1.CommPort = 1 ‘设置Com1通讯口
MSComm1.Settings = “9600,e,7,2” ‘波特率9600,e偶校验,7位数据位,2位停止位
MSComm1.PortOpen = True ‘打开通讯端口
MSComm1.InBufferCount = 0 ‘清空接收缓冲区
End Sub
其它设置均取通讯控件MSComm1的默认值。
2.3 帧格式代码
采用基于bbbbbbs操作系统功能强大的面向对象的程序设计语言——Visual Basic,编写了上位机程序,建立了上位机与PLC之间良好的通讯协议。以读内存DM区为例:
上位机命令帧:
"@" + "00" + "FA" + "1" + "00000000" + "0101" + "82" + 开始地址+读取个数+FCS+结束符
PLC应答帧:
"@" + "00" + "FA" + "1" + "00000000" + "0101" + "82" + "0000"+读取数据 +FCS+结束符
其中:
FA——表示FINS命令
0101——表示连续读内存区
82——表示读内存DM区
2.4 校验算法实现
为了保证通讯数据准确无误的传输,欧姆龙PLC对通讯数据以按位异或算法进行校验。代码如下,仅供参考。
Option Explicit
Function FCS(ByVal temp1 As bbbbbb) As bbbbbb
Dim slen1, i, xorresult1 As Integer ‘ 定义变量
Dim tempfcs1 As bbbbbb
xorresult1 = 0
slen1 = Len(temp1) ‘ 求输入字符串的长度
For i = 1 To slen1
xorresult1 = xorresult1 Xor Asc(Mid(temp1, i, 1)) ‘从首字符到尾字符获取ASCII码,按位异或
Next i
Tempfcs1 = Hex$(xorresult1) ‘转换为16进制
If Len(tempfcs1) = 1 Then
FCS = "0" & tempfcs1
Else
FCS = tempfcs1
End If
End Function
3. 结束语
本文作者创新点主要通过RS-232C串口通讯,采用面向对象的可视化编程工具——Visual Basic建立上位机与欧姆龙PLC-CJ1M(CPU21)之间的数据通讯,获取纱线在线检测数据,现场实测表明能够快速准确在线测量纱线的CV值、瞬时直径、平均直径、粗节大值、细节小值等等,实时反映纱线的不匀率,对提高棉纺企业纱线质量具有重要的意义西门子6ES7211-0AA23-0XB0产品特点
包钢带钢厂璇流井水系统是为轧线供生产用水,整个水系统是循环运行的。为保证璇流井内水位保证基本平衡,通过5#泵(110KW)将水池内循环水再抽到外面,防止水溢出。由于原有系统采用软启动启动,不能调节转速,水位的控制依靠人为值守,来通过开阀和关阀来控制。否则在低液位会造成水泵抽真空而损伤泵体(气蚀);高液位则会淹没水泵房造成停电事故。为此,我们设计变频恒液位控制系统,液位检测采用超声波液位器(百特公司),通过变频器内部PID构成液位闭环,实现液位的自动恒定控制。
1、变频恒液位控制系统构成
系统水泵电机为110KW,四级,转速1480r/min。设计采用EV2000-4T1100P系列通用变频器作为水泵电机控制核心。液位检测采用百特工控公司生产FBSON-Y-05-N系列超声波物位检测仪,供电电源为AC220V,一体式安装。量程大可达到5米,实际检测水位高1.85米。系统原理图附图一至三。
采用一台EC20-1006BRA作简单的继电连锁,除了和旧系统进行连锁(互锁),还有变频器的简单启动和停止及报警。本系统还装有一台EC20-1006BRA,通过串口与一台数传电台相通讯(MODBUS),来实现和一个水泵房(净环泵房)实现连锁。当璇流井有高液位报警时,通过PLC及数传电台传送到净环泵房,由操作人员确定水泵的启动和停止(由于二者距离太远,且不适合电缆敷设,采用无线数传的方式)。 其中璇流井内PLC设置为主站,净环内PLC为从站。数传电台采用深圳科立讯生产的PT6080无线数传电台是利用先进的单片机技术,无线射频技术,数字处理技术设计的功率较大,体积较小的模块式半双工数传电台,采用SMT新工艺,选用高质量的元器件。抗干扰能力强,精致坚固,结构紧凑,安装方便。数话兼容,数传可优先。RS232、RS485及TTL多种接口可供选择,适应面宽。参见下面原理图:
2、变频恒液位控制参数及工作原理:
2.1 EV2000 通用技术规格:
输入额定电压;频率三相,380V~440V;50Hz/60Hz
允许电压工作范围电压:320V~460V;电压失衡率:<3%;频率:±5%
输出额定电压380V
频率0Hz~650Hz
过载能力G型:150%额定电流1分钟,200%额定电流0.5秒;
P型:110%额定电流1分钟;150%额定电流1秒
主要控制性能调制方式磁通矢量PWM调制
调速范围1:100
起动转矩0.50Hz时180%额定转矩
运行转速稳态精度≤±0.5%额定同步转速
频率精度数字设定:高频率×±0.01%;模拟设定:高频率×±0.2%
频率分辨率数字设定:0.01Hz;模拟设定:高频率×0.1%
转矩提升自动转矩提升,手动转矩提升0.1%~30.0%
V/F曲线四种方式:1种用户设定V/F曲线方式和3种降转矩特性曲线方式(2.0次幂、1.7次幂、1.2次幂)
加减速曲线三种方式:直线加减速、S曲线加减速及自动加减速方式;四种加减速时间,时间单位(分/秒)可选,长60小时
直流制动直流制动开始频率:0.20~60.00Hz;
制动时间:0.0~30.0秒;
制动电流:G型:0.0~100.0%
P型:0.0~80.0%
点动点动频率范围:0.20Hz~50.00Hz;点动加减速时间0.1~60.0秒可设,点动间隔时间可设
多段速运行通过内置PLC或控制端子实现多段速运行
内置PI可方便地构成闭环控制系统
自动节能运行根据负载情况,自动优化V/F曲线,实现节能运行
自动电压调整(AVR)当电网电压变化时,能自动保持输出电压恒定
自动限流对运行期间电流自动限制,防止频繁过流故障跳闸
自动载波调整根据负载特性,自动调整载波频率;可选
客户化功能纺织摆频纺织摆频控制,可实现中心频率可调的摆频功能
定长控制到达设定长度后变频器停机
下垂控制适用于多台变频器驱动同一负载的场合
音调调节调节电机运行时的音调
瞬停不停机控制瞬时掉电时,通过母线电压控制,实现不间断运行
捆绑功能运行命令通道与频率给定通道可以任意捆绑,同步切换
运行功能运行命令通道操作面板给定、控制端子给定、串行口给定,可通过多种方式切换
频率给定通道数字给定、模拟电压给定、模拟电流给定、脉冲给定、串行口给定,可通过多种方式随时切换
辅助频率给定实现灵活的辅助频率微调、频率合成
脉冲输出端子0~50kHz的脉冲方波信号输出,可实现设定频率、输出频率等物理量的输出
模拟输出端子2路模拟信号输出,分别可选0/4~20mA或0/2~10V,可实现设定频率、输出频率等物理量的输出
2.2为实现璇流井内恒液位控制,我们采用给定电位计作为液位给定,反馈采用超声波液位仪(变送输出4-20MA)。通过变频器内部的PID调节器做压力闭环调节。变频器参数设置如下:
FP.01=0 参数写保护选择,全部参数允许改写
F0.00=3 给定为VCI模拟给定
F0.03=1 端子运行
F0.04=0 转向为正向
F0.08=1 负载为风机类
F0.10=15 加速时间
F0.11=15 减速时间
F0.14=1 V/F曲线设定(2次幂,泵类负载特性)
F5.00=1 闭环运行有效
F5.01=1 给定为VCI
F5.02=1 反馈为CCI(注意要做调线改动),超声波输出
F5.09=20 小给定量对应反馈(4mA ,相对于20mA为20%)
F5.12=0.10 比例增益
F5.13=0.05 积分时间
FH.00=4 四极电机
FH.01=110 功率110KW
变频器内部PID控制框图:
2.3超声波参数设置
a、测量模式选择:距离测量
b、测量范围:0-185cm
c、响应速度选择:慢速
d、安全物位:保持超声波工作电压220VAC,输出信号为4-20MA为可靠检测液位,使用超声波变送器必须使其响应速度较慢。这是因为过快的响应速度,会造成外界干扰信号的扰动,使液位信号变化太快,影响了正常的设备运行。降低速度,可以使信号综合平均后输出实际稳定电流信号。
3、实际运行效果
经过现场一段时间的运行,变频恒液位运行效果非常好。当用电位计设定一个液位高度后,变频器以恒液位控制方式运行。当液位设定为70cm,实际检测璇流井内的液位基本在60-80cm之间恒定。当液位低于70cm,变频器频率降低,直到后停止在低运行频率(20HZ)。这是因为如果变频器运行频率过低,水泵的扬程不够,电机功率白白损耗掉,不利于节能运行。设置低运行频率,能够使水泵扬程达到要求(璇流井内循环水不会造成在低的运行功率下导致液位过低而水泵抽真空)。变频器的频率一般在生产的时候达到35-45HZ左右,这样的节能率是非常高的(40%左右),恒液位控制大大的降低了操作人员的劳动强度。当由于某种原因造成液位过高时,通过EC20 PLC和数传电台还可以为上级泵站提供信号,实现泵站水系统的连锁控制,保证了正常的生产供水要求,也大大地节约了电能(35%以上),为包钢节能降耗工程作了一个工程。