宣城地区西门子模块代理
西门子模块中国总代理商 前面介绍了读取和写入数组中元素值的指令Field Read和Field Write两条指令,同时给大家简单的分析了程序的设计思路。接下来就使用Field Read来实现本功能,在程序的设计过程中可能还需要用到循环跳转指令。
例子说明:
假设需要从一组数据中找出一个大值,并记录这个大值是这组数据中的第几个数据。
步:
添加一个全局DB块,并在DB块中建立一个变量名为data_1#,数据类型为数组的变量,用于存储需要找出大的数据,同时建立一些相应的变量,如下图所示。
第二步:
初始化相应的存储器并把存储大值的存储器的值设置为小值。程序如下所示:
第三步:
编写判断数据的挨个比较是否完成,当执行的次数与设定的次数相等时,则表示完成,可以跳出大值查找的程序,让程序跳转到后执行。程序如下所示:
第四步:
编写读取数组中元素的值,然后与存储大值的存储器中的值做比较,用于判断数据存储器存储的值是否是大值,若不是大值进行数据交换,同时记录位置,然后INDEX的值加1,同时记录执行次数并与设定次数做比较,如未达到设定次数,则跳转换前面继续通过Field Read指令读取数据出来继续做比较。
1)I/O映象区:由于PLC投入运行后,只是在输入采样阶段才依次读入各输入状态和数据,在输出刷新阶段才将输出的状态和数据送至相应的外设。因此,它需要一定数量的存储单元(RAM)以存放I/O的状态和数据,这些单元称作I/O映象区。一个开关量I/O占用存储单元中的一个位(bit),一个模拟量I/O占用存储单元中的一个字(16个bit)。因此整个I/O映象区可看作两个部分组成:开关量I/O映象区;模拟量I/O映象区。
2)系统软设备存储区 :除了I/O映象区区以外,系统RAM存储区还包括PLC内部各类软设备(逻辑线圈、计时器、计数器、数据寄存器和累加器等)的存储区。该存储区又分为具有失电保持的存储区域和无失电保持的存储区域,前者在PLC断电时,由内部的锂电池供电,数据不会遗失。
CPU313C集成有3个用于高速计数或高频脉冲输出的通道,3个通道位于CPU313C集成数字量输出点位字节的低三位,这三位通常情况下可以作为普通的数字量输出点来使用。在需要高频脉冲输出时,可通过硬件设置定义这三位的属性,将其作为高频脉冲输出通道来使用。作为普通数字量输出点使用时,其系统默认地址为Q124.0、Q124.1、Q124.2(该地址用户可根据需要自行修改),作为高速脉冲输出时,对应的通道分别为0通道、1通道、2通道(通道号为固定值,用户不能自行修改)。每一通道都可输出高频率为2.5KHZ(周期为0.4ms)的高频脉冲。CPU313C中,X2前接线端子22、23、24号接线端子分别对应通道0、通道1、和通道2。另外,每个通道都有自己的硬件控制门,0通道的硬件门对应X2前接线端子的4号接线端子,对应的输入点默认地址为I124.2。1通道硬件门7号接线端子,对应的输入点默认地址为I124.5,而2号通道硬件门为12号接线端子,对应的输入点默认地址为I125.0。