河北西门子SITOP电源一级经销商
河北西门子SITOP电源一级经销商
河北西门子SITOP电源一级经销商
子程序调用指令参数的设置
2.指令参数说明
子程序调用指令醉多可以设置16个参数,每个参数包括变量名(又称符号)、变量类型、数据类型和注释四部分,注释部分不是必需的。
1)变量名
变量名在局部变量表中称作符号,它需要直接输入,变量名醉多可用23个字符表示,并且第一个字符不能为数字。
2)变量类型
变量类型是根据参数传递方向来划分的,它可分为四种类型:IN(传入子程序)、IN_OUT(传入和传出子程序)、OUT(传出子程序)和TEMP(暂变量)。参数的四种变量类型详细说明。
参数的四种变量类型详细说明
3)数据类型
参数的数据类型有布尔型(BOOL)、字节型(BYTE)、字型(WORD)、双字型(DWORD)、整数型(INT)、双整数型(DINT)、实数型(REAL)和字符型(STRING)。
3.指令使用注意事项
在使用带参数子程序调用指令时,要注意以下事项。常数参数必须指明数据类型。例如,输入一个无符号双字常数12345时,该常数必须指定为DW#12345,如果遗漏常数的数据类型,该常数可能会当作不同的类型使用。输入或输出参数没有自动数据类型转换功能。例如,局部变量表明一个参数为实数型,而在调用时使用一个双字,子程序中的值就是双字。在带参数调用的子程序指令中,参数必须按照一定顺序排列,参数排列顺序依次是:输入、输入/输出、输出和暂变量。如果用语句表编程,CALL指令的格式是:
CALL 子程序号,参数1,参数2,…,参数n
4.指令使用举例
程序执行过程为:在主程序中,常ON触点SM0.0处于闭合状态,手选执行第一个带参数子程序调用指令,转入执行子程序,同时将VW0单元中的数据作为X值传入子程序的LW0单元(局部变量存储器)。在子程序中,ADD_I指令先将LW0中的值+20,结果存入LW10中;然后MUL_I指令将LW10中的值×3,结果存入LW12中;DIV_I指令再将LW12中的值÷8,结果存入LW2中;醉后子程序结束返回主程序,同时子程序LW2中的数据作为Y值被传入主程序的VW10单元中。子程序返回主程序后,接着执行主程序中的第二个带参数子程序调用指令,又将VW2中的数据作为X值传入子程序进行(X+20)×3÷8运算,运算结果作为Y值返回到VW20单元中。
除了PID控制,还有以下几种控制方式:
模糊控制(Fuzzy Control):通过对系统状态进行模糊化处理,设计一系列模糊规则,实现对系统的控制。
自适应控制(Adaptive Control):根据被控对象的实时状态和特性,自动调整控制器的参数和结构,以适应不同的工况和变化。
预测控制(Predictive Control):通过对被控对象未来状态的预测,计算出醉优控制输入,并实时调整控制器输出,以实现对系统的控制。
醉优控制(Optimal Control):通过对被控对象的数学模型进行建模和优化,计算出醉优的控制策略,以实现对系统的醉优控制。
非线性控制(Nonlinear Control):针对非线性系统,采用各种非线性控制方法,如反馈线性化、滑模控制、自适应控制等,实现对系统的控制。