说明:
下表介绍了如何判定标志字中的有效位,如何监控记录到来或离去事件的 32 位长度地址中的变化位,在指令中如何访问双字类型变量中的某一位。
序号 | 举例说明 |
1 | 判定标志字中的有效位 STEP 7 中利用标志字对顺序过程进行顺序控制。在同一时刻,此步号标志字中有且仅有一位为 “1 ”,用以标示顺序控制器的当前活动步号。 利用位计数可获知活动步号并将其以文本形式指示出来,如在 ProTool 中的符号列表。为了直观起见,当前活动步号最好以整型数值的方式表示。有效位位号与当前活动步号间的关系可由下式表示: n
式中,X 指示有效位所在位号(X = 0......15),当前活动步号为 X+1,Y 为标志字的数值。请注意,Y 不得为 0 或负数(带符号)。下面给出了完成上述功能的 STL 例子程序,可供下载。n "bitpos_c" 下载程序中包含上面所提及的功能块 FC1,并于 OB1中进行调用以供示范。n bitpos_c.zip ( 28 KB ) |
2 | 监视 32 位长度地址 为了监视到来和离去事件的发生,需要查询 32 位长度地址中的每一位的上升沿和下降沿。与上例中类似,此处的双字也定义为双整型,计算变化位的位地址。 n 此处例子程序采用的方法与上例类似, 程序描述如下:n
可供下载的例程 "Monitor_en" 中为上述功能的一个 STEP 7 项目,其中包含 FB1 和 OB1。OB1 中另以两位为例进行功能测试。 Monitor_en.zip ( 41 KB ) |
3 | 单独访问双字类型变量 DWORD 中的位 块中所定义的变量仅能以其所声明的方式进行访问。当声明时制定变量为“DWORD”类型时,仅能以双字格式而不能以位格式访问该变量。 由于可以单独访问绝对地址中的位,只要知道变量对应有绝对地址,便可直接通过绝对地址进行位访问。 图 01 例中,首先将双整型静态变量 “Variable” 的内容装入累加器 1,然后传送给 DB5 中的变量“ValueRange”。变量“ValueRange”在 DB5中的地址为 0 (DB5.DBD0 为双整型)。此时即可逐位访问此变量。 注意:
定义 32 个 BOOL 类型的 TEMP 变量用于对双整型变量进行逐位操作。下例中调用指令将需进行操作的变量/参数(此处为 MD 10)传送至临时变量 “bitvar_0”至 “bitvar_31”。采用符号寻址对 32 个位变量进行操作,然后保存操作结果。 请注意,只有当该块被调用时,临时变量才有效。此外,在第一次读访问前需对其进行初始化。 |
将相关的可执行.exe 文件拷贝到独立的文件夹,双击打开该文件将自动解压缩 STEP 7 项目。随后可使用 SIMATIC Manager 打开并处理该项目。
注意:
请注意对于不同 CPU 模板,取自然对数的执行时间各不相同:
CPU 模板 |
执行时间典型值µs |
CPU312 | 455 |
CPU313, CPU314 | < 650 |
CPU315, CPU315-2, CPU316-2 | < 650 |
CPU317 | 14,97 |
CPU318-2 | 35 |
CPU412 | 63 |
CPU414 | 35 |
CPU416 | 33 |
CPU417 | 35 |
关键词:
标志顺序控制器,顺序控制器
原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc337548.html