西门子PLC全国总代理
I/O刷新
在PLC(可编程控制器)中,客户所设计的用户程序通过一边读写PLC内的存储器区域(欧姆龙称「I/O存储器」)的信息一边将指令从开始到后逐个执行的方式来进行处理。另一方面,对于与PLC或I/O单元直接相连的感应器/开关等PLC外的数据,按照一定时序,会与PLC内的「I/O存储器」的数据一并更新。这种PLC外的数据与PLC内的I/O存储器的数据的一并更新,即称为「I/O刷新动作」。
了解按照怎样的时序进行I/O刷新,在研究客户所设计的FA系统和用户程序的动作时非常重要。SYSMAC PLC的情况下,该I/O刷新动作会在执行完所有的指令后马上进行。(参见下图)
周期时间
在PLC处理周期中,从I/O刷新执行(开始)到下一次的I/O刷新执行(处理)之间的时间,即周期时间。
周期时间包含共通处理(自我诊断)、用户程序执行处理、I/O刷新处理、外围服务处理等所需要的时间。
1 如周期时间过长,则与PLC外部进行数据更新的周期变长,输入输出的响应时间变长,导致无法获取比周期时间短的输入的变化。
2 如周期时间短,则输入输出的响应时间变短,可进行高速处理。
3 如更改周期时间,则命令的执行间隔及输入输出的响应时间也会改变。
SYSMAC PLC的情况下,可按照以下的步骤计算出周期时间。
周期时间(Cycle time)=共通处理时间+指令执行时间+I/O刷新时间+外围服务时间
各SYSMAC PLC机种的执行时间的计算方法,在产品手册中有记载。
中断任务
通常,在PLC的处理周期内,用户程序包括I/O刷新等其他处理,将按顺序执行。(参见「I/O刷新」项)。
在这个处理周期中能够优先执行的处理,即中断任务。如事先指定的中断条件成立,则中断处理周期,优先执行该处理。
(根据SYSMAC PLC机种的不同,也有将「中断任务」表示为「中断程序」的情况,在本文中采用CS/CJ系列中使用的「中断任务」的表示法进行说明)。
例如,在SYSMAC CS/CJ系列中,作为中断任务,可提供断电中断、定时中断、I/O中断、按内部计时器的恒定周期中断、外部中断等方式。
主要的中断任务 内容
断电中断 电源切断时执行
定时中断 按一定的时间间隔执行
I/O中断 在中断输入单元的接点上升沿处执行
外部中断 有来自高功能I/O单元、CPU高功能单元、内插板(仅CS系列)的请求时执行
I/O分配
在用户程序中,为了对PLC内装载的输入输出单元的输入、输出信号进行处理,有必要事先为其分配PLC内的I/O存储器的地址。将PLC内装载的单元的输入、输出信号分配到I/O存储器上,即为I/O分配。CPU单元即根据该I/O分配信息执行装载单元及I/O刷新动作。
将PLC内装载的单元的输入、输出信号分配到I/O存储器上,即为I/O分配。CPU单元即根据该I/O分配信息执行装载单元及I/O刷新动作。
在线自动登录
离线自动登录
CPU单元的存储区域
在PLC内,进行用户程序、I/O存储器的数据及注释信息、CPU单元及高功能单元的设定信息、登录I/O表信息等各类的数据的处理。保存这些PLC所处理的全部数据的地方,即CPU单元内的存储区域。
SYSMAC PLC时,有以下3种存储区域,由电池支持。
此外,在SYSMAC CS/CJ系列,因有内置闪存,可将存储区域的内容受到支持,即使电池的电压降低,用户程序和参数区域的数据也不会消失。
用户程序区域
记录客户所设计的用户程序。
I/O存储器区域
通过指令的操作码,可以访问该区域。记录通道I/O(CIO)、内部辅助继电器、保持继电器、特殊辅助继电器、数据存储器、扩展数据存储器、计时完成标志?当前值、计数完成标志?当前值、任务标志、变址寄存器、数据寄存器、条件寄存器、时钟脉冲等的信息。
I/O存储器区域的数据中包括:断电后恢复时,内容会被清除的区域,以及可保持以前的信息的区域。
参数区域
PLC所处理的各种初始设定信息。
记录PLC系统设定、登录I/O表、路由表、CPU高功能单元系统设定等的信息。
随着中国工业经济的发展,PLC在中小型自动化设备的日益普及应用,对于设备制造厂商或生产技术管理部门来说,如何以快捷的方式响应现场设备维护方面的需求,迅速检测生产现场运行设备的状态,及时解决生产现场反映的问题,已是多数上位技术管理者的切实需求。如何采用经济实用的方式来实施远程PLC设备数据采集或测控,这也是探索解决此问题的初衷。
1、系统组成概述
系统硬件主要由上位计算机、TC35iGSM MODEM无线通讯模块和远程Siemens S7—200 PLC 3部分组成,具体结构如图1所示。系统软件分为上位PC和下位PLC两部分,上位PC部分提供人机交互操作界面和相应的数据选择、处理等;下位PLC则通过自由口通讯,以中断方式快速响应上位机对PLC变量存储器数据的读写操作或对I/0口读写操作需求。由于上位计算机与远程PLC的通讯载体是通过TC35i建立在GSM网络基础上的,从而打破了地域的限制,即便远端PLC设备在千里之遥,实施数据采集、测控的如同咫尺。
2 系统硬件设计
2.1 TC35i无线通讯模块
系统组成如图1所示,系统硬件主要是TC5i无线通讯模块的应用。TC35i是Siemens公司推出的新一代无线通信GSM模块,TC35i双频工作(EGSM900/GSMl800),电源范围在3.3~4.8 V,发送功率分别为2W(Class4 EGSM900)和lW(Classl GSMl800 MHz),TC35i的数据接口采用串行异步收发,符合ITU-TRS-232接口电路标准。数据接口配置为8位数据位、1位停止位、无校验位,可以在300~115 kb/s的波特率下运行,支持的自动波特率为4.8~115 kb/s,符合ETSI标准GSM0707和GSM0705,且易于升级为GPRS模块。该模块集射频电路和基带于一体,向用户提供标准的AT命令接口。为数据、语音和短消息提供快速、可靠、安全的传输,方便用户的应用开发及设计。TC35i有40个引脚,通过ZIF连接器引出。这些引脚可划分为5类,即电源、数据输入/输出、SIM卡、音频接口和控制。TC35i内部电路如图2所示。
ZIF40PIN的引脚1~14为电源部分,其中引脚l~5为电源电压输入端VBATT+,引脚6~10为电源地GND,引脚11~12为充电端,引脚13为对外输出电压(供外部电路使用),引脚14 ACCU/TEMP接负温度系数的热敏电阻;引脚24~29为SIM卡连接端;引脚33~40为语音接口用来接电话手柄。引脚15、30、31和32为控制部分,引脚15为启动线IGT(Ig-niTIon)。当TC35i通电后必须给IGT一个大于100 mV的低电平,模块才能启动。引脚30为RTC back up;引脚3l为掉电控制:引脚32为SYNC,引脚16~23为数据输入/输出端。TC5i无线通讯模块的主要外围电路的连接如图3所示。数据通信电路以MAX232为核心实现电平转换及串口通信。
2.2 系统硬件连接
系统硬件的连接可参考图1可知,上位计算机的串口输出与由TC35i构成的GSM MODEM中的9芯RS232口直接连接;远程的GSM MODEM与PLC连接时则必须通过RS232到RS485的转换,这是Siemens PLC的通讯口数据和PPI编程电缆连接的必要条件。另一方面必须注意的是,在与远程GSM MODEM的RS-232串口连接时,还必须将RS232串口中的RXD和TXD对换连接,否则将不能正常通讯。
2.3 远程PLC的选型
该系统选用西门子S7—200 PLC,在西门子PLC中SIMATIC S7—200是一个系列,其中包括多种型号的CPU,这里选用CPU-222,由于CPU不提供模拟量的输入输出,为检测对模拟量数据的远程读写。因此在远程PLC系统中扩展一型号为EM-235的4输入1输出模拟量模块。
3 系统软件设计
3.1 系统上位计算机人机界面
系统上位的人机界面是用VB编程,提供人机交互操作界面及数据选择和相应的数据处理等功能。系统上位的操作界面如图4所示。在操作界面的左上部是通讯链接控制框,这里只需要正确选择PC的串口并输入远程PLC所连接的电话号码后即可拨号链接,远程的无线GSM MODEM模块摘机响应一般设置为铃响后自动摘机,通讯链接建立后,当上位PC检测到串口端的数据载波DCD信号后,通讯链接控制框中的“链接状态”指示灯由红变绿,表示通讯链路已成功建立。拨号或挂机的操作均是通过对GSM MODEM模块发送AT指令执行的。
对PLC数据的读写操作如操作界面的右上部所示,在相应文本框内填写好数据的类型、地址、数值和操作方式后点击“发送”即可执行对PLC的读或写操作。界面的下半部分显示的是PC串口发送和接收的代码以及当前操作的结果。
3.2 系统上位计算机的串口设置
在上位PC的人机界面中,串口的设置是通过下拉选择框选择出所连接的串口后由程序自动读取。在使用GSM MODEM无线模块时,上位PC对远程PLC链接呼叫时采用的是AT指令。程序语句为:MSComm1.Output=“ATDT”&Trim (Text1.Text)& vbCrLf//Text1文本框内为欲连接的电话号码。挂机的AT指令为:MSComml.Output=“ATDT”&“+++”& vbCrLf。串口数据格式的设定语句为:MSComml.SetTIngs=“9600. N,8.1”,与TC35iGSM MODEM无线通讯模块和远程PLC自由口的串行数据通讯格式一致。
3.3 通讯数据格式的约定
由于远程PLC采用的是自由口用户通讯方式,这里对每次收发数据字节暂约定为18个字节,数据字节的多少可根据实际需要而酌情约定。本系统中18个字节的约定:Bybbb为数据的总字节数;Bvte2为数据开始特征字;Bvte3为数据读或写特征字:Byte4为数据类型特征字;Bvte5~Byte8为PLC数据地址;Bvte9~Bybbb6为PLC数据的数值;Bybbb7为收发数据的校验码;Bvbbb8为数据结束特征字。串口数据的传输除数据地址字节和数据数值字节用ASCII码表示外,其他均以十六进制方式表示。因而在上位PC的编程中需涉及大量的进制转换操作。特别要注意的是由于PLC中的实数采用32位单精度数表示,并按照ANSI/IEEE745 1985标准格式以双字长度来存取,所以无论是上位的PC或是下位的PLC在编程时对实数数据的处理均需严格遵循ANSI/IEEE7451985标准格式的规定,否则将不可能读到正确的数据。
通讯数据的校验方式采用BCC块进行XOR校验,即约定为从每次数据包的Byte2到Bybbb6的字节进行校验,Bvbbb7存放校验结果。上位或下位在接收数据时,首先对所接收的数据进行校验并将计算结果与Bvbbb7所存放的数值进行比较,如不一致时则按约定要求重发,以保障每次传输数据的正确性。
3.4 远程PLC自由口通讯初始化编程
由于远程PLC采用的是自由口用户通讯协议,所以对PLC的自由口通讯必须做如下初始化设置:
远程PLC经上述设置后,在其运行期间每当接收到一组数据后便自动产生中断请求,在中断服务的子程序中,设定一标志位(如MO.0)置位,用来表示允许进入中断服务,在主程序中通过检测M0.O的状态来确定是否转入读数据操作的子程序,读数据操作完毕后及时将接收数据标志M0.0复位,从而完成一次读数据过程。PLC数据的上传则是根据所读数据的内容来响应上位的请求,上传数据的编码和字节均依照约定的格式写入,每次的读写操作仅在PLC一个扫描周期内(数毫秒)完成,系统的响应是实时的。
3.5 远程PLC数据的读写操作
PLC数据的读写是依据约定的数据类型实施操作的。对于字节、字、双字、实数及I/0端口各自有约定的数据类型特征字,在下位PLC程序中通过对数据类型特征字的解析后来确定读取数据的字节数。对I/0端口的读写操作则是根据约定的地址编码直接读写出相应的状态信息。每组收发数据的存储单元从VBl00到VBll7共18个字节。由前述的数据发送量的约定可知,每组数据的Byte5~Byte8表示PLC数据的地址,由于每次读写的地址是不同的,所以Byte5~Byte8字节给定的就是地址指针,在PLC编程中就要以此指针采用间接寻址的方式,假设Byte5~Byte8存放在PLC的VB104~VBl07单元,其间址指令则为:
MOVD &VBl04,ACl读取该地址内容时则根据数据类型的不同而有所区别,假如读写字节时指令为:MOVB*ACl,VBl60;则读写字的指令为:MOVW *ACl,VWl60;读写双字的指令为:MOVD *ACl,VDl60;读写实数的指令则为:MOVR *ACl,VDl60。
4 结束语
本系统经实际测试基本达到了预期效果。远程PLC在省际间距离的测控响应与在本市区地域的测控响应基本相同,通过对PLC I/O的读写、模拟量数据的读写、单字节、双字节及实数的读写,均未出现数据差错现象,远程的响应速度基本上是对上位的指令立即响应,操作人基本感觉不出时间的延时。在PLC中,由于本远程测控程序字节量较少,完全可以嵌入在PLC的过程控制程序中运行,由于在自由口通讯中,
对上位PC读写的响应采用的是中断方式快速响应,所以对PLC的过程控制程序的实时性基本无影响。
- 丽江西门子S7-300代理商 2024-05-08
- 昭通西门子S7-300代理商 2024-05-08
- 保山西门子S7-300代理商 2024-05-08
- 玉溪西门子S7-300代理商 2024-05-08
- 上海西门子PLC总代理商 2024-05-08
- 曲靖西门子S7-300代理商 2024-05-08
- 昆明西门子S7-300代理商 2024-05-08
- 云南西门子S7-300代理商 2024-05-08
- 毕节西门子S7-300代理商 2024-05-08
- 铜仁西门子S7-300代理商 2024-05-08
- 安顺西门子S7-300代理商 2024-05-08
- 遵义西门子S7-300代理商 2024-05-08
- 六盘水西门子S7-300代理商 2024-05-08
- 贵阳西门子S7-300代理商 2024-05-08
- 贵州西门子S7-300代理商 2024-05-08