您当前的位置:五五电子网电子知识电工技术电工文摘数据变换指令在PL参数外部设定中的应用 正文
数据变换指令在PL参数外部设定中的应用

数据变换指令在PL参数外部设定中的应用

点击数:7586 次   录入时间:03-04 11:49:09   整理:http://www.55dianzi.com   电工文摘

一、引言

用PLC控制的设备、常常要求在不用编程器条件下,根据现场的工艺条件,对PLC器件的参数,如定时器,计数器和数据存储通道的数据,从外部进行修改,国内已有不少论文对此进行研究。文献[1]提出三种方法,其中第三种方法是利用一位BCD码拨码开关和ADD指令,以占用四个输入点为代价,获得多位数定时器的10种时间参数,对要求参数种类不超过10种的情况,这种方法很有实用价值。如果要对四位数的器件参数任意设定:文献[2]要用四位数的BCD码开关,占用12个输入点;文献[3]要用10只数字键和一只“读入”键,占用11个输入点;而本文提出的方法,只需占用6个输入点,其中一位数的BCD码开关占用四个输入点,移位信号按纽和器件选择开关各占一个输入点。本文的方法另一个优点是,要求从外部设定参数的器件每增加一个,只需再增加一个对应的器件选择开关,多占用一个输入点。表1列出设定一个四位数定时器,文献[1、][2]、[3]和本文提出方法所需占用输入点数,以资比较。

来源

文献[1]

文献[2]

文献[3]

本文

占用输入点数

4

16

11

6

可获得参数

10种

10000种

10000种

10000种

表1 各方法比较

通过BCD码开关,从外部向PLC器件输入参数数据,是常用的外部设定方法。一位BCD码开关,占用四个输入点,只能给参数的一位设定。器件参数位数越多、需要BCD码开关的位数相应增多,占用输入点也按比例增多。本方法之所以占用较少的输入点,是因为只用一位BCD码开关,应用数字译码指令MLPX和数字编码指令DMPX,借助移位寄存器移位输出的控制,逐次向器件参数的各位输入数据。参数的位数增多,输入数据的操作次数相应增多,但不必增加新的输入点。本文的目标机为在我国广泛应用的OMRON C系统P型机,也适用于具有MLPX和DMPX指令的其它机种。下文将以定时器作为从外部设定参数的器件,方法也适用于计数器、保持继电器、数据存储通道等器件。

二、数字译码指令MLPX及应用

MLPX指令应用时必须指定三个数据:源通道、标志位和目的通道。指令执行结果是把源通道的四位十六进制数中的几位(可从一位到四位,每位数可以从0到F),译成使目的通道(有十六点)对应点“ON”的信息。源通道要求译码的位数有几位,目的通道的通道数就得有几个。指令中的标志位数据使用四位常数,但有效的只是低两位。其中最低位表示从源通道四位数中的第几位开始译,“0”表示从第一位开始译,“1”表示从第二位开始译,……;次低位表示源通道四位数中有几位数要译,“0”表示只译一位,“1”表示要译两位数……我们把用以外设的一位BCD码开关接在CH00通道0000—0003四个输入点,即接收外部信息的是CH00通道四位中的第一位。把CH00通道作为源通道、需要译码是从第一位开始,而且只译第一位,故标志位常数为#0000,目的通道只需一个,即CH16。这样一来,我们应用MLPX指令,把BCD码开关输入的数据,转为用CH16通道“ON”点位置表示的信息。例如BCD码开关输入数字9,则CH16通道的1609点“ON”。

三、数字编码指令DMPX及应用

DMPX指令应用时也必须指定三个数:源通道、标志位和目的通道。指令执行的结果是把源通道内容为“ON”的最高位的位置号码,编为四位二进制数,传送到十六位的目的通道中指定四位(二进制)上去。标志位数据使用四位常数,但有效的是低两位。其中最低位表示目的通道的哪一位开始接收编码的结果,“0”表示目的通道的第一位(用四位十六进制表示的第一位,对应十六位二进制的低四位)开始接收编码结果,“1”表示目的通道的第二位开始接收编码结果……。次低位表示被编码的通道数。因为目的通道用十六进制表示时有四位,所以可接收被编码的通道数目为四。示志位的次低位数可由0到3,分别表示被编码的通道数为1到4。我们应用DMPX指令时,把存在BCD码开关输入信息的CH16通道作为源通道,被编码的源通道只有CH16一个,所以标志位数据的次低位为0。因为定时器不能作为DMPX指令的目的通道,我们指定保持继电器通道HR6为目的的通道。通过四次应用DMPX指令,其标志位数据最低位分别为0,1,2,3,而次低位为0,即可把BCD码开关四次接收的外部数据,分别送往HR6通道的四位上去,最后通过HR6给定时器TIM06赋值,实现用一位BCD码开关给四位定时器参数设定。

四、梯形图程序及数据输入操作方法

图1为用一位BCD码开关从外部给TIM06设定参数的梯形程序。BCD码开关接输入通道CH00的0000—0003四个输入点。下面以输入参数#9765,即976.5S为例,解释程序并说明操作步骤。

67-1.gif (9199 bytes)

图1 定时器参数外设定的梯形图

  (1)接通TIM06器件选择开关0006,从前沿微分指令得到的,1206一个扫描周期脉冲,使移位寄存器清零,CH06通道各点均OFF。
  (2)按移位按纽0004一次,则0600点“ON”。与之对应的DMPX指令的标志位为#0000,DMPX指令执行的结果是把源通道CH16中“ON”的最高位置号码,编为四位二进制数传送到目的通道HR6四位数中的最低位,即个位。在HR6通道的16个点中,个位点最低的4个点。
  (3)拨动BCD码开关,使其数字为TIM06要设定参数的最低位数5,此时输入通道CH00的输入点0000和0002“ON”。
  以上(2)(3)两个步骤操作完毕后,MLPX指令把BCD研开关输入的数字5,译成使CH16通道上“ON”点位置的信息,即1605点“ON”;而0600点“ON”,对应的DMPX指令又把1605点“ON”的信息,编成四位二进制数0101,送往HR6通道16个点中的最低4个点,使HR600和HR602“ON”。则四位数表示的HR6的内容,最低位为数5。
  重复步骤(2),则0601点“ON”。与之对应的DMPX指令的标志位为#0001,DMPX指令执行结果是把源通道CH16中“ON”的最高位置号码编为四位二进制数,传送到目的通道HR6四位数的次低位。重复步骤(3)通过BCD码开关输入数6。使HR6的次低位数为6。
  再各两次重复(2)(3)步骤,完成HR6四位数中的次高位和最高位数据的输入,它们分别是7和9。
  以上的操作使HR6的内容为9765,因为TIM06的参数是由HR6设定的,所以其参数为#9765,即976.5S。
  为保证参数的输入准确无误,必须严格遵守操作步骤的顺序,同时移位输入0004应增加防抖动电路。

五、多个器件参数的外部设定

当需要从外部设定参数的器件多于一个时,每增加一个器件,只需增加一个对应器件选择开关多占用一个输入点,应用IL和ILC指令把各器件外部设定参数的程序分开即可。图2给出增加一个器件选择按纽,占用0007输入点,实现TIM07参数外部设定的梯形图。

 

67-2.gif (5608 bytes)

图2 设定多个器件参数

六、结语

通过调试证明,本文提出的方法和程序是切实可行的。占用很少的输入点,是本方法的优点。要求外部设定参数的器件越多,器件的位数越多,本方法的优点越大。


本文关键字:暂无联系方式电工文摘电工技术 - 电工文摘