微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > BASIC在PLC控制系统中的应用

BASIC在PLC控制系统中的应用

时间:08-15 来源:3721RD 点击:

1 引言

basic语言是微机系统中广泛应用的一种高级编程语言,它的指令接近思维逻辑的表达,与自然语言有相通之处,易学易懂,同时它包涵丰富的算法函数,能十分方便地进行各种数据处理,因而深受广大编程爱好者喜爱。plc是计算机科学在工业控制领域内的一个重要分支,它一般采用梯形图、语句表作为其编程语言,由于梯形图形似电气原理图,直观易懂,易为电气工程师所接受,为plc的推广应用起到了极大的推动作用。plc从诞生至今,几十年来,应用领域不断扩大,现在,通讯问题已成为plc应用中的一个重要课题之一。

  本文以ge fanuc plc系列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

*命令

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top