Board logo

标题: BASIC语言在PLC控制系统中的应用 [打印本页]

作者: wxg1988    时间: 2012-9-17 21:08     标题: BASIC语言在PLC控制系统中的应用

(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系统数据通信与收集方面的灵活性。




欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0