三菱 PLC 子程序编程指南 (三菱PLC子程序)

三菱PLC子程序

什么是子程序?

子程序是 PLC 程序中的一段可重复使用的代码块。它允许您将程序分解成更小的、易于管理的部分。子程序可以被主程序或其他子程序调用。

三菱 PLC 中的子程序类型

三菱 PLC 支持以下类型的子程序:功能函数(FUN): 用于执行计算或操作并返回结果。子程序(SUB): 用于执行不返回结果的一系列操作。中断子程序(INT): 用于处理硬件中断。循环子程序(LOOP): 用于创建循环结构。

如何创建子程序?

要创建子程序,请按照以下步骤操作:1. 在 GX Works3 或其他 Mitsubishi PLC 编程软件中创建一个新项目。 2. 右键单击“程序”文件夹,然后选择“新建” > “子程序”。 3. 选择要在该子程序中包含的子程序类型。 4. 为子程序指定一个名称。 5. 输入子程序代码。

如何调用子程序?

要调用子程序,请使用以下语法:CALL <子程序名>例如,要调用名为“CalcAverage”的功能子程序,您将使用以下代码:CALL CalcAverage

子程序参数

子程序可以接受参数,就像普通函数一样。参数允许您在调用子程序时向其传递数据。要声明子程序参数,请在子程序定义中使用以下语法:<子程序名> PARAMETER <参数类型> <参数名称>例如,要声明一个名为“CalcAverage”且接受两个整数参数的功能子程序,您将使用以下代码:CalcAverage PARAMETER INT Num1, INT Num2在调用子程序时,您需要提供实际参数与形式参数相匹配。

子程序局部变量

子程序可以具有自己的局部变量。这些变量仅在子程序执行期间可用。要声明局部变量,请在子程序定义中使用以下语法:LOCAL <变量类型> <变量名称>例如,要声明一个名为“Temp”的局部整型变量,您将使用以下代码:LOCAL INT Temp

子程序返回

功能子程序可以返回一个值。要返回一个值,请使用以下语法:RETURN <值>例如,要返回平均值,您将使用以下代码:RETURN (Num1 + Num2) / 2

子程序注意事项

使用子程序时,请注意以下事项:子程序不能调用自身(递归)。子程序不能直接访问主程序的变量。子程序可以彼此调用。子程序可以嵌套(在其他子程序中调用)。

示例

以下是一个使用 Mitsubishi PLC 子程序的示例程序:PROGRAM MainLD 1000CALL CalcAverageOUT Y0ENDSUB CalcAverage PARAMETER INT Num1, INT Num2LOCAL INT TempTemp <- Num1 + Num2Temp <- Temp / 2RETURN TempEND此程序创建一个名为“Main”的主程序和一个名为“CalcAverage”的子程序。主程序调用子程序计算两个值的平均值,然后将该平均值输出到输出 Y0。

结论

子程序是 Mitsubishi PLC 编程中一种强大的工具,可以帮助您创建更清晰、更易于维护的程序。通过遵循本指南,您可以开始使用子程序来提高 PLC 程序的效率和灵活性。

三菱PLC实现PID控制的方法1)使用PID过程控制模块。 这种模块的PID控制程序是PLC生产厂家设计的,并存放在模块中,用户在使用时只需要设置一些参数,使用起来非常方便,一块模块可以控制几路甚至几十路闭环回路。 但是这种模块的价格昂贵,一般在大型控制系统中使用。 如三菱的A系列、Q系列PLC的PID控制模块。 2)使用PID功能指令。 现在很多中小型 PLC都提供PID控制用的功能指令,如FX2N系列PLC的PID指令。 它们实际上是用于PID控制的子程序,与A/D、D/A模块一起使用,可以得到类似于使用PID过程控制模块的效果,价格却便宜得多。 3)使用自编程序实现PID闭环控制。 有的PLC没有有PID过程控制模块和 PID控制指令,有时虽然有PID控制指令,但用户希望采用变型PID控制算法。 在这些情况下,都需要由用户自己编制PID控制程序。 3. 三菱FX2N的PID指令PID指令的编号为FNC88,源操作数[S1]、[S2]、[S3]和目标操作数[D]均为数据寄存器D,16位指令,占9个程序步。 [S1]和[S2]分别用来存放给定值SV和当前测量到的反馈值PV,[S3]~[S3]+6用来存放控制参数的值,运算结果MV存放在[D]中。 源操作数[S3]占用从[S3]开始的25个数据寄存器。 PID指令是用来调用PID运算程序,在PID运算开始之前,应使用MOV指令将参数设定值预先写入对应的数据寄存器中。 如果使用有断电保持功能的数据寄存器,不需要重复写入。 如果目标操作数[D]有断电保持功能,应使用初始化脉冲M8002的常开触点将其复位。 PID指令可以同时多次使用,但是用于运算的[S3]、[D]的数据寄存器元件号不能重复。 PID指令可以在定时中断、子程序、步进指令和转移指令内使用,但是应将[S3]+7清零(采用脉冲执行的MOV指令)之后才能使用。 控制参数的设定和 PID运算中的数据出现错误时,“运算错误”标志M8067为 ON,错误代码存放在D8067中。 PID指令采用增量式PID算法,控制算法中还综合使用了反馈量一阶惯性数字滤波、不完全微分和反馈量微分等措施,使该指令比普通的PID算法具有更好的控制效果。 PID控制是根据“动作方向”([S3]+1)的设定内容,进行正作用或反作用的PID运算。 PID运算公式如下:以上公式中:△MV是本次和上一次采样时PID输出量的差值,MVn是本次的PID输出量;EVn和 EVn-1分别是本次和上一次采样时的误差,SV为设定值;PVn是本次采样的反馈值,PVnf、PVnf-1和PVnf-2分别是本次、前一次和前两次滤波后的反馈值,L是惯性数字滤波的系数;Dn和Dn-l分别是本次和上一次采样时的微分部分;K p是比例增益,T S是采样周期,T I和T D分别是积分时间和微分时间,αD是不完全微分的滤波时间常数与微分时间TD的比值。 参数的整定PID控制器有4个主要的参数K p、T I、T D和T S需整定,无论哪一个参数选择得不合适都会影响控制效果。 在整定参数时应把握住PID参数与系统动态、静态性能之间的关系。 在P(比例)、I(积分)、D(微分)这三种控制作用中,比例部分与误差信号在时间上是一致的,只要误差一出现,比例部分就能及时地产生与误差成正比的调节作用,具有调节及时的特点。 比例系数K p越大,比例调节作用越强,系统的稳态精度越高;但是对于大多数系统,K p过大会使系统的输出量振荡加剧,稳定性降低。 积分作用与当前误差的大小和误差的历史情况都有关系,只要误差不为零,控制器的输出就会因积分作用而不断变化,一直要到误差消失,系统处于稳定状态时,积分部分才不再变化。 因此,积分部分可以消除稳态误差,提高控制精度,但是积分作用的动作缓慢,可能给系统的动态稳定性带来不良影响。 积分时间常数T I增大时,积分作用减弱,系统的动态性能(稳定性)可能有所改善,但是消除稳态误差的速度减慢。 微分部分是根据误差变化的速度,提前给出较大的调节作用。 微分部分反映了系统变化的趋势,它较比例调节更为及时,所以微分部分具有超前和预测的特点。 微分时间常数T D增大时,超调量减小,动态性能得到改善,但是抑制高频干扰的能力下降。 选取采样周期T S时,应使它远远小于系统阶跃响应的纯滞后时间或上升时间。 为使采样值能及时反映模拟量的变化,T S越小越好。 但是T S太小会增加CPU的运算工作量,相邻两次采样的差值几乎没有什么变化,所以也不宜将T S取得过小。

本文原创来源:电气TV网,欢迎收藏本网址,收藏不迷路哦!

相关阅读

添加新评论