西门子6ES7214-2AS23-0XB8现货库存
1 引言
计算机及通讯技术已成为工业环境中大部分解决方案的核心部分,其在系统中的比重正在迅速增加。在一个自动化系统中,交、直流调速器不仅仅作为一个单独的执行机构,而是随着其不断的智能化,它们相互之间及同控制系统之间可以通过各种通讯方式结合成一个有机的整体。西门子变频器USS自由口通信以其通信质量高、成本低廉在自动化系统得到了广泛的应用。本文以USS自由口通信在石油钻机电气传动系统中的实际应用为例,对自由口使用的地址分配,通信程序实现进行了较详细的分析,该思路不仅用于PLC来保证通信质量,对于用语言在PC实现的通信程序编制、提高通信的可靠性都具有一定的借鉴意义。
2 USS通信
2.1 USS概况
西门子交、直流调速器采用的USS通讯协议是西门子公司为传动系统开发的通讯协议,可支持交直流驱动器同PC或PLC之间建立通讯联接,适用于规模较小的自动化系统。有以下特点:
(1) 用单一的、完全集成的系统来解决自动化问题。所有的西门子交、直流驱动器都可采用USS协议作为通信链路,原先的驱动器间是孤立的,仅有极少量通过硬件电路反馈信号。
(2) 数字化的信息传递,提高了系统的自动化水平及运行的可靠性,解决了模拟信号传输所引起的干扰及漂移问题。
(3) 其通信介质采用RS-485屏蔽双绞线,远可达1000m,因此可有效地减少控制电缆的数量,原系统中需要20芯控制电缆一般在4根以上,现在只需工作电源就可以,从而可以大大减少开发和工程费用,提高可靠性。
(4) 通讯速率较高,可达187.5kbps。对于有5个变频器,每个调速器有六个过程数据需刷新的系统,PLC的典型扫描周期为几百毫秒。
(5) 它采用与PROFIBUS相似的操作模式,总线结构为单主站、主从存取方式。报文结构具有参数数据与过程数据,前者用于改变调速器的参数,后者用于快速刷新调速器的过程数据,如启动停止、逻辑锁定、速度给定、力矩给定等。具有极高的快速性与可靠性。
2.2 西门子USS通信协议 [1]
(1) 协议概况
●Siemens驱动器所定义的USS协议,是Profibus通信协议的简化,通过其总线可以连接31个节点,传输速率可以达到19.2k比特率,通过主站(PC、PLC)进行控制。
●USS总线上的每个传动装置都有一个站号,主站通过它识别每个传动装置。
●USS可以是主从结构:从站回应主站发来的报文并发送报文。也可以是广播通讯方式:报文同时发送给所有的传动装置。
(2) 协议说明
所有数据报文都由14个字节组成,是标准的异步报文格式:1个起始位,8个数据位,一个偶校验位和一个停止位。数据报文的结构如下:
主站到从站的报文格式:
从站到主站的报文格式:
(3) USS协议报文描述
●STX STX是单字节的ASCⅡ STX字符(值为02),表示报文的开始。
●LGE LAE是单字节区域,表示报文中LAE区域后的字节数。
●ADR ADR是单字节区域,包含从站传动装置的地址::
其中位5是广播位。选择是否将这报文以广播方式发送给总线上的所有驱动器,位0~4是驱动器总线地址。
●BCC BCC是单字节区域,对报文中该区域以前所有的字节进行异或校验。
●IND IND是16位的区域,通用传动装置应设为0。
●PKE PKE是16位的区域,用来控制传动装置的参数读写,定义如下:位0~10为参数号,位12~15为参数读写控制,如2038H,2代表读参数,38H表示十进制ID为56的参数。
●VAL VAL是16位的区域,通过读写参数命令将参数值写到对应的参数ID中。
STW是16位的控制字区域,控制传动装置的运行,如047F表控制电机正向运行。
ZSW是16位的状态字区域,表示传动装置不同的运行状态。
●HSW/HIW HSW是设定电机速度的16位的区域。如4000H对应额定速度的
HIW是读取电机速度的16位区域,可以读出电机速度。如当前转速=(HIW×额定速度)/4000H。
3 自由口设定
3.1 钻机传动系统设备配置
多年来,我国钻机市场一直以机械钻机为主,通过柴油发电机带动变速齿轮箱来调节绞车和泥浆泵的转速,效率低下,耗能高,故障率高。随着国际钻机市场电驱动钻机的推广与普及,我国的钻机经历了购买二手旧钻机,进口新钻机到自主生产的过程,在此基础上,钻机也进行了一次大的更新,从模拟电路控制直流传动到数字化的直流传动设备,再到到高性能的具有通信功能的传动设备;在钻机实现自动化过程也经历了由继电器到开关量PLC再到高性能PLC(模拟量+总线通讯)的过程,现阶段钻机设备配置以高性能PLC控制为主,通过通讯功能读取数据和并根据工况改写驱动器的相关数据,这样先进的控制理论(模糊控制、神经网络控制等)就很容易的通过上位机实现,从而控制交直流驱动器实现调速的智能化。该系统通过S7-200 CPU226作为主站,五台6SE71系列变频器作为从站,其中650kW的变频器带动绞车/钻机,500kW的变频器两两同步工作,带动1300系列的泥浆泵,参见图1。
图1 USS通讯系统配置
5 程序流程图
主设备对从设备的消息查询命令主要分为2大类,连续命令序列和随机命令序列。
连续命令序列:主设备需要定时或连续向从设备发送的命令序列。特点是周期性,连续性。如plc对变频器读取运行频率命令,运行状态命令等。
随机命令序列:主设备不定时或随机向从设备发送的命令序列。特点是不定时性,随机性。如plc对变频器的启停控制,改写频率或其他参数等(见图2)。
图2 程序流程图
6 程序清单
本程序主要介绍1台ec20plc(作为主站)按照modbus协议网络对3台变频器(从站号分别是2,3,4)进行通信控制的简单范例,本例中:
连续命令序列 包括对2,3,4号变频器的运行频率的读取;
随机命令序列 包括对2,3,4号变频器进行启动,停止,更改频率的命令操作;
(1) “变频器正转”子程序清单如下:
//主程序中用m1993作为各发送辅助使能,主要用于modbus指令的上升沿触发无其他用
ld lm0 //位输入参数型—发送辅助使能
rst sm135 //复位成功标志
rst sm136 //复位失败标志
ld sm0 //运行标志
mov z0 v9 //保存z0值到v9
ld sm0 //运行标志
mov v0 v10 //从机地址
mov 16#6 v11 //功能码
mov 16#32 v12 //寄存器地址高字节
mov 16#0 v13 //寄存器地址低字节
mov 1 v14 //写入数据高字节
mov 16#c7 v15 //写入数据低字节
//以下把发送数据转移到d7940-d7945里
ld sm0
mov 0 z0
ld sm0
for 6
ld sm0
mov v10z0 d7940z0
ld sm0
inc z0
next
//发送接收数据,数据放在d7970开始区域
ld lm0
modbus 1 d7940 d7970
rst lm0 //马上复位发送辅助使能
//无论成功失败都还原z0值
//当然这里省略了错误报告的处理
ld sm135
or sm136
eu //上升沿
mov v9 z0
(2) “停机”子程序(省略)
(3) “设定频率”子程序(省略)
(4) “读取运行频率”子程序(省略)
(5) 主程序清单:
//******以下为通信逻辑处理部分******
ld sm1 //运行周期脉冲
//***这里省略了检查从机准备好否的环节***
//***程序里设计了3个连续命令序列***
rst m6 //复位连续命令序列1使能标志
rst m7 //复位连续命令序列2使能标志
rst m8 //复位连续命令序列3使能标志
ed //下降沿
//置位连续命令序列1使能标志,以开始第1条连续命令执行
set m6
//***程序里设计了共9个随机命令序列***
//只要有至少1个随机命令, // m1000=on,表示有随机命令等待,这样在连续命令切换时优先执行随机命令系列
它的工作有两个要点:入出信息变换、可靠物理实现。
入出信息变换主要由运行存储于PLC内存中的程序实现。这程序既有系统的(这程序又称监控程序,或操作系统),又有用户的。系统程序为用户程序提供编辑与运行平台,同时,还进行必要的公共处理,如自检,I/O刷新,与外设、上位计算机或其它PLC通讯等处理。用户程序由用户按照控制的要求进行设计。什么样的控制,就有什么样的用户程序。
可靠物理实现主要通过输入(I, bbbbb)及输出(O, OUTPUT)电路。每一输入点或输出点就有一个I或O电路。而且,总是把若干个这样电路集成在一个模块(或箱体)中,然后再由若干个模块(或箱体)集成为PLC完整的I/O系统(电路)。尽管这些模块相当多,占了PLC体积的大部分,但由于它们都是由高度集成化的,所以,PLC的体积还是不太大的。
输入电路时刻监视着输入点的(通、ON或断、OFF)状态,并将此状态暂存于它的输入暂存器(还可能有别的称谓)中。每一输入点都有一个与其对应的输入暂存器。
输出电路有输出锁存器(还可能有别的称谓)。它也有两个状态,高、低电位状态,并可锁存。同时,它还有相应的物理电路,可把这个高、低电位的状态传送给输出点。每一输出点都有一个与其对应的输出锁存器。
这里的输入暂存器及输出锁存器实际是PLC的I/O电路的寄存器。它们与PLC内存交换信息通过PLC I/O总线及运行PLC的系统程序实现。
把输入暂存器的信息读到PLC的内存中,称输入刷新。PLC内存有专门开辟的存放输入信息的映射区。这个区的每一对应位(bit)称为输入继电器,或称软触点,或称为过程映射输入寄存器(the process-image bbbbb register)。这些位(bit)置成1,表示触点通,置成0为触点断。由于它的状态是由输入刷新得到的,所以,它反映的就是输入点的状态。
输出锁存器与PLC内存中的输出映射区也是对应的。一个输出锁存器也有一个内存位(bit)与其对应,这个位称为输出继电器,或称输出线圈,或称为过程映射输出寄存器(the process-image output register)。通过PLC I/O总线及运行系统程序,输出继电器的状态将映射给输出锁存器。这个映射的完成也称输出刷新。
PLC除了有可接收开关信号的输入电路,有时,还有接收模拟信号的输入电路(称模拟量输入单元或模块)。只是后者先要进行模、数转换,然后,再把转换后的数据存入PLC相应的内存单元中。
如要产生模拟量输出,则要配有模拟量输出电路(称模拟量输出模块或单元)。靠它对PLC相应的内存单元的内容进行数、模转换,并产生输出。
这样,用户所要编的程序只是,PLC输入有关的内存区到输出有关的内存区的变换。这是一个数据及逻辑处理问题。由于PLC有强大的指令系统,编写出满足这个要求的程序是完全可能的。
图1-1对以上叙述作了说明。其中框图代表信息存储的地点,箭头代表信息的流向及实现信息流动的手段。这个图,既反映了PLC实现控制的两个基本要点,同时也反映了信息在PLC中的空间关系。
简单地说,PLC工作过程是:输入刷新---运行用户程序---输出刷新,再输入刷新---再运行用户程序---再输出刷新##8943;##8943;yongbu停止地循环反复地进行着。
图2所示的流程图反映的就是上述过程。它也反映了信息间的时间关系。
a- 简化工作流程图b – 实际工作流程图
图1-2 PLC工作流程图
有了上述过程,用PLC实现控制显然是可能的。因为:有了输入刷新,可把输入电路监视得到的输入信息存入PLC的输入映射区;经运行用户程序,输出映射区将得到变换后的信息;再经输出刷新,输出锁存器将反映输出映射区的状态,并通过输出电路产生相应的输出。又由于这个过程是yongbu停止地循环反复地进行着,所以,输出总是反映输入的变化。只是响应的时间上,略有滞后。但由于PLC的工作速度很快,所以,这个“略有滞后”的时间是很短的,一般也就是几豪秒、几十豪秒,多也不会超过100到200毫秒。
图1-2a所示的是简化的过程,实际的PLC工作过程还要复杂些。除了I/O刷新及运行用户程序,还要做些其它的公共处理工作。公共处理工作有:循环时间监视、外设服务及通讯处理等。
监视循环时间的目的是避免用户程序“死循环”,保证PLC能正常工作。为避免用户程序“死循环”的办法是用“看门狗”(Watching dog),即设一个定时器,监测用户程序的运行时间。只要循环超时,即报警,或作相应处理。
外设服务是让PLC可接受编程器对它的操作,或向编程器输出数据。
通讯处理是实现与计算机,或与其它PLC,或与智能操作器、传感器进行信息交换的。这也是增强PLC控制能力的需要。
也就是说,实际的PLC工作过程总是:公共处理——I/O刷新——运行用户程序——再公共处理——##8943;反复不停地重复着。图1-2b所示的是实际的过程。
此外,PLC上电后,也要进行系统自检及内存的初始化工作,为PLC的正常运行做好准备。
用这种不断地重复运行程序以实现控制,称扫描方式工作。是PLC基本的工作方式。
此外,为了应对紧急任务,PLC还有中断工作方式。在中断方式下,需处理的任务先申请中断,被响应后停止正运行的程序,转而去处理中断工作(运行有关中断的服务程序)。待处理完中断,又返回运行原来程序。
PLC的中断方式的任务,或称事件,是分等级的。同时出现两个或多个中断事件,则优先级高的先处理,继而处理低的。直到全部处理完中断任务,再转为执行扫描程序。
PLC对大量控制都用扫描方式工作,而对个别急需的处理,则用中断方式。这样,既可做到所有的控制都能照顾到,而个别应急的任务也能及时进行处理。
当然,PLC的实际工作过程比这里讲的还要复杂一些,分析其基本原理,也还有一些理论问题。但如果能弄清上面介绍的思路,也可知到PLC是怎么工作的了。
四、NA400 PLC与三垦变频器的通讯程序
对于专用通讯协议,NA400 PLC采用自由通讯协议与之通信,信文格式遵循原始格式。
例子完成3项任务:正转指令设定,输出频率写入及输出频率读取,变频器地址1,通信格式:19200bps 8 N 2
首先定义变量:选择序号,定义名称、维数及数据类型
1、 输出频率写入
三垦变频器输出频率设定信文格式(ASCII),转换为十六进制:40 01 50 24 0D 0A共6字节,该命令返回8字节
命令串放在以下定义的变量寄存器中:
返回数据存放在%MW0055至以后连续8个寄存器中
示例程序如下:XMT/RCV分别为发送和接收指令,发送方式可根据工况灵活设定。
2、 正转指令设定
三垦变频器正转运行指令信文格式(ASCII)(此例设定50Hz),转换为十六进制:40 01 4F 13 88 D5 0D 0A共8字节,该命令返回12字节
命令串放在以下定义的变量寄存器中:
示例程序如下:因为在实际工况下需要随时改变频率设定,所以可对示例程序中的SEND10[3],SEND10[4]进行对应的变量运算,可以做到随时接收上位机的频率改变命令并发送变频器改变输出。
3、 输出频率读取
三垦变频器输出频率读取指令信文格式(ASCII),转换为十六进制:2A 30 31 43 0D 0A共6字节,该命令返回12字节
命令串放在以下定义的变量寄存器中:
返回字符串存放在以下定义的变量寄存器中:
示例程序如下:在实际工况下需要对接收的字符串进行相应的处理,所以需要进行变量的处理,从而可以在上位机显示采集的数值。
五、结语:自由端口通讯协议对于工业网络中不同设备之间的兼容提供了极大的方便性。建立在此基础上的系统集成开发和设备使用维护,要求参与者读懂设备信文规约然后才有可能达到熟练程度,因此就要求软硬件开发商在使用说明中尽可能的详尽清楚的解释。