西门子PLC外部数据BCD码的输入方法
1BCD码数据外部输入应用设计举例 1.1设计思路 首先介绍SIEMENS(西门子)公司plcS7—200的物理存储区结构,一般情况下,物理存储区是以字节为单位的,所以存储单元为字节单元,操作数长度是字或双字时,标识符后给出的存储单元参数是字或双字内的最低字节单元号。图1(a)给出了字节、字、双字的相互关系及表示方法。当使用数据宽度为字或双字时,应保证没有生成任何重叠的存储器字节分配,例如,字地址编码应采用MW10、MW12、MW14······等偶数字地址或MW11、MW13、MW15·······等奇数字地址,由于存储器字MW10占用MB10、MB11两个字节,而MW11则要占用MB11、MB12两字节,存在字节地址重叠单元MB11,所以字地址编码时奇偶不能兼用,以免造成数据读写错误。图1(b)给出数据存储结构,数据的高位用MSB表示,低位用LSB表示。 其次,以德国SIEMENS(西门子)公司的S7—200PLC为例。构成加热控制系统,加热时间采用三位十进制数的BCD码拨盘从PLC外部输入。PLC输入/输出接点分配如下表所示: 加热系统的加热元件用PLC输出点Q0.0控制,系统起动按钮由I1.4输入,复位按钮由I1.5输入。 这里选择两个字节的PLC输入映象寄存器IB0和IB1作为外部数据输入端,利用三个BCD码拨盘将外部数据分别置入IB0、IB1两个字节中。每个BCD码拨盘需用四位PLC输入点,如个位BCD码8421端分别接至PLC的I0.3、I0.2、I0.1、I0.0输入接点,分配PLC的输入接点IB0的低4位为BCD码的个位数、高4位为BCD码的十位数、IB1的低4位为BCD码的百位数、高4位为无效位。利用传送指令分别将个、十、百位数送入三个内部标志寄存器(或内部变量寄存器)保存,并将送入的十位、百位数分别乘以权10和权100,最后将处理好的个位、十位、百位数相加,运算结果作为加热器的加热时间常数,PLC在用户程序初始化时,将其送入加热时间定时器中,对加热器加热时间进行实时控制,PLC在每次运行开始初始化程序中读取BCD码拨盘数据。这样采用改变外部拨盘的数据。即可以灵活地改变加热时间。
|