衡水地区SIEMENS西门子PLC模块代理商 西门子PLC代理,西门子S7-1500代理,西门子PLC代理经销
FB和FC均为用户编写的子程序,局部数据均有IN、OUT、IN_OUT和TEMP,临时变量TEMP储存在局部数据堆栈中。
如果在使用子程序调用指令后修改该子程序中的局部变量表,调用指令将变为无效。必须删除无效调用,并用能反映正确参数的新的调用指令代替。
在语句表程序中调用子程序时使用调用指令“SBR n"。在调用子程序时,CPU保存整个逻辑堆栈后,将栈顶值置为1,堆栈中的其他值清0,控制转移至被调用的子程序。子程序执行完成时,用调用时保存的数据恢复堆栈,控制返回调用程序。子程序和调用程序共用累加器,不会因使用子程序自动保存或恢复累加器。
衡水地区SIEMENS西门子PLC模块代理商 西门子PLC代理,西门子S7-1500代理,西门子PLC代理经销
1)FC的返回值RET_VAL实际上是输出参数,因此有无静态变量(STAT)是二者的局部变量的本质区别,功能块的静态变量用背景数据块来保存。如果功能有执行完后需要保存的数据,只能存放在全局变量(I/Q、PI/PQ、M、T、C和共享数据块)中,但是这样会影响功能的可移植性。如果功能或功能块的内部不使用全局变量,只使用局部变量,不需要做任何修改,就可以将块移植到其他项目。
某卧式镗床"继电器-接触器"控制系统的电路图如图5-6所示,它包括主电路、控制电路、照明电路和信号指示电路。镗床的主轴电动机M1是双速异步电动机;中间继电器KAl 和KA2控制主轴电动机的启动和停止;接触器KM1和KM2控制主轴电动机的正反转;接触器KMA、KM5和时间继电器KT控制主轴电动机的变速;接触器KM3用来短接串在定子回路的制动电阻。SQ1、SQ2和SQ3、SQ4是变速操纵盘上的限位开关;SQ5和SQ6是主轴进刀与工作台移动互锁限位开关;SQ7和SQ8是镗头架和工作台的正、反向快速移动开关。
(2)卧式镗床PLC控制系统外部的实际接线图
改造后的PLC控制系统外部的实际接线图如图5-7所示。主电路、照明电路和信号指示电路同原电路不变,其控制电路的功能由PLC实现。
如果块的内部使用了全局变量,在移植时需要重新统一分配它们内部使用的全局变量的地址,以保证不会出现地址冲突。当程序很复杂,子程序和中断程序很多时,这种重新分配全局变量地址的工作量非常大,也很容易出错。如果逻辑块有执行完后需要保存的数据,显然应使用功能块,而不是功能