1 导言
basic言语是微机体系中广泛运用的一种高档编程言语,它的指令挨近思想逻辑的表达,与自然言语有相通之处,易学易懂,一起它包容丰厚的算法函数,能非常方便地进行各种数据处理,因此深受广阔编程爱好者喜欢。plc是计算机科学在工业操控领域内的一个重要分支,它一般选用梯形图、句子表作为其编程言语,因为梯形图形似电气原理图,直观易懂,易为电气工程师所承受,为plc的推行运用起到了极大的推进效果。plc从诞生至今,几十年来,运用领域不断扩大,现在,通讯问题已成为plc运用中的一个重要课题之一。
本文以ge fanucplc系列pcm智能通讯模块在某泵站操控体系中的运用为例进行讨论,介绍了basic言语在处理plc与现场外表或其它外部智能设备之间数据通讯问题时能起到的效果,为广阔同行供给又一种串行通讯处理计划。
2 体系简述
本体系选用ge fanuc 90-30系列plc model351,一块智能通讯模块cmm311,一块可编程智能通讯模块pcm311,及开关量输入、输出模块,模拟量输入模块若干。
通讯模块cmm311有两个通讯口,别离担任与上位机组态软件及现场digital触摸屏进行通讯。
可编程通讯模块pcm311为通讯协处理机,内有固化的megabasic言语解释程序,能履行经过外部编程终端存储进来的basic程序。该模块有两个通讯端口,一个端口为编程口,ge公司logicmaster编程软件包中有专用于pcm模块编程的软件,用它可经过该编程口登录pcm模块,将计算机中文本方法的basic代码文件存入模块的存储器中;另一个端口为专用外部通讯口,在basic程序中可翻开此端口与外部智能设备进行通讯。在特别时分,编程口也可被basic程序翻开,作与外部设备通讯用,但这样运用在调试时稍有不方便。
体系安置要求叙说如下:
plc cpu担任开关量、模拟量的搜集、运算,施行直接的操控功用;通讯模块cmm311经过两个通讯口别离衔接上位机及触摸屏,完结人机界面与plc的数据通讯;pcm模块的com2与westinghouse(西屋外表)mint ii网络转换器相连,担任经过mint ii网络转换器与现场三个品种的12台westinghouse外表通讯,搜集电流、电压、功率等各种物理量的实时数据,一起,com1在调试结束后用来与现场一台三菱fx2n plc通讯,完结从ge plc体系到fx2n体系的数据通路,计划图如图1所示。
2.1 minit ii转换器通讯协议简介
在这个计划中,minit ii与下位设备的硬件衔接为双绞线,minit ii及下位各设备都并入双绞线组成的westinghouse incom网络,在该网络中各通讯主体运用二进制通讯方法,数据帧均由33位二进制数构成,minit ii充任主站(master)人物,对下位各设备建议通讯,进行轮询。
pcm311模块与minit ii转换器进行的是ascii码通讯方法,而minit ii转换器与下位dt3000、mp3000、iq200各系列设备的通讯方法为二进制码通讯,实际上minit ii所起到的效果是将pcm模块宣布的ascii码指令帧转译为二进制码指令帧,当然,在通讯进程中,咱们只需关怀ascii码通讯帧的格局,minit ii会主动将其转为二进制格局后发到incom网络中去。
minit ii模块的25针rs232串行口接纳的ascii码帧由10个ascii码字符组成,分为操控指令帧、数据指令帧两类,大致方法如下:
操控指令:
(stx)(c/d)(inst)(comm)(scomm)(address)(sumcheck)
数据指令:
(stx)(c/d)(data)(sumcheck)
stx:第2号ascii码,占一位
c/d:操控指令时为1,数据指令时为0,占一位
inst、comm、scomm:由这三个数字指定需求回来的参数,各占一位
address:指定指令的发送目标,是一个三位数的十六制数,占三位
sumcheck:和校验码,占二位
data:回来的数据信息,占六位
minit ii串行通讯参数在其面板上经过开关来选定。
2.2 fx2n plc通讯协议简介
fx2n是三菱品牌plc在小体系操控运用中运用较多的一种经济型plc,外部设备经过232bd、485bd等插件或485adp等模块可与其树立ascii码串行通讯,读取plc内部寄存器的值。其协议格局如下:
(1) 读寄存器
*外设:(enq)(站号)(pc号)(指令字符)(等待时间)(头元件)(元件数)(和校验)
*plc:(stx)(站号)(pc号)(回来数据)(etx)(和校验)
*外设:(ack)(站号)(pc号)
(2) 写寄存器
*外设:(enq)(站号)(pc号)(指令字符)(等待时间)(头元件)(元件数)(写出数据)(和校验)
*plc:(stx)(站号)(pc号)
*enq、stx、ack、etx:为相应的ascii码
*站号:plc的站地址,为两位十六进制数(00-0fh),由plc的d8121寄存器指定
*pc号:用于a系列melsecnet网络中的plc,对fx2n均为ffh
*指令字符:分为位读(br)、位写(bw)、字读(wr)、字写(ww)
*等待时间:以10ms为单位,以十六进制数表明,占一个字符(0-f)
*头元件:为要读、写的开端元件号,如m0001、d0000等。
*元件数:为要读、写的元件个数。
*回来数据、写出数据:为从plc回来的寄存器值或要写到plc的数据值
因为fx2n与中心操控柜间隔较远,故本体系中选用fx2n与485bd插件,pcm311模块经232/485转换器与485bd相连,转换器与485bd之间选用两对双绞线相连,全双工方法通讯,plc串行通讯参数在d8120中设定。
2.3 megabasic的语法简介
(1) 串口操作:pcm模块共有二个串口,它们均可在megabasic程序中被翻开,与外部进行通讯,以下为常用的串口操作函数。
*串口的翻开:open ,
如open #8,“com1”
*串口的封闭:close
如close #8
*串口通讯参数的设定:ioctl ,
(2) ioctl_string格局为:
baud(波特率),parity(校验),databits(数据位),stopbits(中止位),flowctl(流操控方法),physical(物理协议如232/485/422),duplexmode(通讯方式,半双工/全双工)如ioctl #8,“19200,n,8,1,n,232”
(3) 从串口读取数据:inchr$(,,,,)
如restr=inchr$(ch%,10,“”,0,timeout%)
(4) 向串口发送数据:print,
如print #8,“hello world”
(5) megabasic程序对plc寄存器的拜访:
关于pcm模块地点的plc体系中的寄存器如%i,%q,%r,%m等,basic程序中并不可直接引证,而需经过运用特定的功用指令来拜访它们。
a)拜访plc寄存器之前,先要运用syslink指令。
syslink,,[type]
local_name:basic程序内部界说的变量
cpu_symbol:plc的寄存器名,外加双引号(如“%r500”)
type:相关数据的类型,如bool,byte,int16,uint,dint等
b) 读、写plc寄存器
sysread
syswrite
在syslink指令履行后,即可运用上面两个指令别离读、写basic变量所相关的plc寄存器。
2.4 体系编程进程简介
依据minit ii通讯协议及megabasic言语的根本语法,在文本编辑器(如记事本)中写好大致的程序,特别是对回来数据的解析编写专门的函数来进行处理,以得到浮点数方法的电压、电流、功率等数据,其间要点要注意好对回来过错帧时的处理,还有搜集不同数据时的协议上的不同,这一部分程序写好后,运用pcm模块的com1经过logicmaster软件导入pcm模块,用com1监督运转,用com2通讯,进行联机调试,依据调试状况加以批改完善,得到终究版别。
相似上述过程,依据fx2n的通讯协议,写好与fx2n通讯的程序,用com1监督运转,用com2通讯,经调试批改,得到终究版别。
将两个版别的程序兼并,并将与fx2n通讯的端口改为com1,去掉程序中用于监督运转的输出句子(print),再从头导入pcm模块中,一个满意体系要求的完好的通讯程序就这样就写成了。
3 结束语
用相似本体系中的pcm模块完结通讯使命,笔者以为其相对运用plc梯形图程序进行通讯长处很显着。首要因为其运用的是与微机体系中的basic言语语法相同的高档言语,易学易懂,处理杂乱的数据运算时称心如意,在杂乱的有许多通讯使命的体系中有很严重的推行价值;再者在体系调试时也有显着优势,一个端口正在通讯时,一个端口实时监督程序的运转状况,并可以自然言语的方法输出实时的调试信息,plc程序就不会有这么好的效果,那么结果是这种体系的开发周期必定大为缩短。
plc体系中选用basic言语的协处理器,笔者以为这是plc运用中一个新的开展,对简化编程,减轻工控体系开发者的开发压力可起到较大的效果,据了解,许多plc厂商都有相似功用的模块出产,如三菱公司就推出了ad51h高速智能通讯组件,运用ad51h basic言语,支撑四个通讯口,具有384k内存,大大提高了plc体系数据通讯与搜集方面的灵活性。