眉山西门子PLC代理经销控制柜专用 眉山西门子PLC代理,眉山西门子PLC经销,西门子PLC代理
在语句表程序中调用子程序时使用调用指令“SBR n"。在调用子程序时,CPU保存整个逻辑堆栈后,将栈顶值置为1,堆栈中的其他值清0,控制转移至被调用的子程序。子程序执行完成时,用调用时保存的数据恢复堆栈,控制返回调用程序。子程序和调用程序共用累加器,不会因使用子程序自动保存或恢复累加器。
4调用带参数的子程序
②确定PLC的输入信号和输出负载。“继电器-接触器”电路图中的交流接触器和电磁阀等执行机构如果用PLC的输出位来控制,它们的线圈接在PLC的输出端;按钮、操作开关和行程开关、接近开关等提供PLC的数字量输入信号;"继电器-接触器"电路图中的中间继电器和时间继电器的功能用PLC内部的辅助继电器和定时器来完成,它们与PLC的输入位、输出位均无关。
③选择PLC的型号,根据系统所需要的功能和规模选择CPU模块、电源模块、数字量输入和输出模块,对硬件进行组态,确定输入/输出模块在机架中的安装位置和它们的起始地址。
④确定PLC各数字量输入信号与输出负载对应的输入位和输出位的地址,画出PLC外部的实际接线图。各输入和输出在梯形图中的地址取决于它们的模块的起始地址和模块中的接线端子号。
⑤确定与"继电器-接触器"电路图中的中间、时间继电器对应的梯形图中的辅助继电器和定时器、计数器的地址。
调用带参数的子程序时需要设置调用的参数,参数在子程序的局部变量表中定义,*多可传递16个参数。
2.工作方式
眉山西门子PLC代理经销控制柜专用 眉山西门子PLC代理,眉山西门子PLC经销,西门子PLC代理
电源接通时,继电器控制线路中各继电器同时都处于受控状态,即该吸合的都应吸合,不该吸合的都因受某种条件限制不能吸合,它属于并行工作方式。而PLC的控制逻辑中,各内部器件都处于周期性循环扫描过程中,各种逻辑、数值输出的结果都是按照在程序中的前后顺序计算得出的,所以它属于串行工作方式。
3.可靠性和可维护性
继电器控制逻辑使用了大量的机械触点,连线也多。触点开闭时会受到电弧的损坏,并有机械磨损,寿命短,因此可靠性和可维护性差。而PLC采用微电子技术,大量的开关动作由无触点的半导体电路来完成,体积小、寿命长、可靠性高。PLC还配有自检和监督功能,能检查出自身的故障,并随时显示给操作人员;还能动态地监视控制程序的执行情况,为现场调试和维护提供了方便。
功能FC1用来控制发动机的风扇,要求在发动机运行信号Engine_On变为1时起动风扇,发动机停车后,用输出的BOOL变量Fan_On控制的风扇继续运行30s后停机。
在FCI中,用延时断开定时器S_OFFDT(见图4-16)来定时。在功能的变量声明表中定义的输入参数Timer_Function是延时断开定时器的编号,数据类型为Timer,在调用FC1 时用它来为不同的发动机指定不同的定时器。
3. 功能与功能块的区别
FB和FC均为用户编写的子程序,局部数据均有IN、OUT、IN_OUT和TEMP,临时变量TEMP储存在局部数据堆栈中。
1)FC的返回值RET_VAL实际上是输出参数,因此有无静态变量(STAT)是二者的局部变量的本质区别,功能块的静态变量用背景数据块来保存。如果功能有执行完后需要保存的数据,只能存放在全局变量(I/Q、PI/PQ、M、T、C和共享数据块)中,但是这样会影响功能的可移植性。如果功能或功能块的内部不使用全局变量,只使用局部变量,不需要做任何修改,就可以将块移植到其他项目。如果块的内部使用了全局变量,在移植时需要重新统一分配它们内部使用的全局变量的地址,以保证不会出现地址冲突。当程序很复杂,子程序和中断程序很多时,这种重新分配全局变量地址的工作量非常大,也很容易出错。如果逻辑块有执行完后需要保存的数据,显然应使用功能块,而不是功能
1N(输人)是传人子程序的输人参数,如果参数是直接寻址,如VB10.指定地址的值被传、)人子程序。如果参数是间接寻址,如*AC1,指针指定地址的值被传人子程序。如果参数是常数(例如DW#12345)或地址(如 &VB100),它们的值被传人子程序,“非”为常数描述符。
0UT(输出)是子程序的执行结果,它被返回给调用它的POU常数和地址(如 & VB100)不能作抢出量。
IN_OUT(输人/输出)将参数的初始值传给子程序,子程序的执行结果返回给同一地址。常数和地址不能作输人/输出参数。
在子程序中可以使用参数IN、IN_OUT和OUT。
TEMP是局部存储变量,不能用来传递参数,它们只能在子程序中使用。
消除了引起致命错误的原因后,必须用下面的方法重新起动CPU:将可编程序控制器断电后再通电;将方式开关从TERM或RUN报至STOP位置,如果发现其他致命错误条件,CPU将会重新点亮系统错误LED。
有些错误可能会使可编程序控制器无法进行通信,此时在计算机上看不到CPU的错误代码。这表示硬件出错,CPU模块需要修理,修改程序或清除可编程序控制器的存储器不能消除这种错误。
(2)非致命错误
非致命错误会影响CPU的某些性能,但不会使它无法执行用户程序和更新I/O,有以下几类非致命错误:
1)运行错误,在RUN方式下发现的非致命错误会反映在特殊存储器标识位(SM)上,用户程序可以监视这些位。上电时CPU读取I/O配置,并存储在SM中。如果CPU发现I/O配置变化就会在模块错误字节中设置配置改变位。I/O模块必须与存于系统数据存储器中的I/O配置符合.CPU才会对该位复位它被复位之前,不会史新I/O模块。
子程序传递的参数放在子程序的局部变量表中,局部变量表*左边的一则是每个被传递的参数的局部存储器地址。调用子程序时,输人参数被拷贝到子程序的局部存储器,子程序执行完后,从局部存储器区拷贝输出参数到指定的输出参数地址,数据单元的人小和类型用参数的代码表示。在子程序中局部参数存储器的参数值分配如下:
(1)按子程序指令的调用顺序,给参数值分配局部存储郜,起始地址是L0。
眉山西门子PLC代理经销控制柜专用 眉山西门子PLC代理,眉山西门子PLC经销,西门子PLC代理