首页 理论教育 编写代码控制FM355模块

编写代码控制FM355模块

时间:2023-06-17 理论教育 版权反馈
【摘要】:以软件自带的示例程序,介绍FM355模块的编程。主程序在FC100中编写,在OB100中调用一次进行初始化,然后在OB35中循环调用与FM355模块进行数据交换,程序结构如图11-68所示。每一个PID回路,都需要通过FB31建立一个独立的背景数据块,背景数据块是CPU与FM355模块的接口数据区。表11-16 PID_FM函数背景数据块输入参数2)输出数据类型,数据的流向从FM355模块到CPU,在数据块中的地址及功能见表11-17。

编写代码控制FM355模块

安装FM355参数化软件后,在SIMATIC Manager的函数库中自动创建FM355的专用函数库“FM_PID”。在CPU中调用FM355专用函数块,可以对FM355的参数进行设定,并读出反馈值,函数库中包括七个函数块,它们的功能如下:

“PID_FM”函数块:主函数块,将设定点发送到FM355模块并读回反馈值,对模块大部分参数可以进行修改。

“FUZ_355”函数块:读出FM355模块,通过温度优化算法的整定结果并保存于数据块中,更换模块后不需要再次对控制过程进行整定,只需要将存储的整定结果下传到模块即可。

“FORCE_355”函数块:模拟模块集成的模拟量和数字量输入信号

“READ_355”函数块:将模块集成的模拟量和数字量输入信号读到CPU中。

“CH_DIAG”函数块:读出指定通道的状态值,用于对通道的诊断。

“PID_PAR”函数块:对“PID_FM”函数块不能操作的参数进行操作,例如更改线条差补“Polyline”对话框中的数值。

“CJ_T_PAR”函数块:在线更改内部补偿的温度值。

978-7-111-28718-6-Chapter11-110.jpg

图11-68 FM355模块循环调用和初始化程序

在模块参数化过程中,设定的数值及选项在模块初始化过程中(通过调用PID_FM函数,置位COM_RST,将FM355模块的参数读到CPU中)将作为PID控制回路的初始值,通过调用专用函数,可以在控制过程中修正控制参数以适应控制过程的变化。

以软件自带的示例程序,介绍FM355模块的编程。安装FM355模块参数化软件后,在SIMATIC Manager中的“Sample project”示例程序目录下,可以发现FM355的示例程序“FM_PIDEx”。在示例程序中FB100和FC101模拟控制过程和反馈值,在实际控制中应将FB100和FC101删除。主程序在FC100中编写,在OB100中调用一次进行初始化,然后在OB35中循环调用与FM355模块进行数据交换,程序结构如图11-68所示。

在OB100中置位“COM_RST”参数,将存储于模块中所有控制参数复制到CPU数据块(FB31的背景数据块)中,完成之后模块自动复位“COM_RST”参数,在OB35中不需要再次初始化,并以数据块中存储的参数作为PID回路初始控制参数,控制参数可以进行修改。在函数FC100中,首先对PID回路进行预处理,控制程序如下:

978-7-111-28718-6-Chapter11-111.jpg

978-7-111-28718-6-Chapter11-112.jpg

在回路预处理程序中,初始化命令(COM_RST)将FM355模块的参数复制到CPU中,并切换到手动模式,输出零值,保证了控制器启动时不会产生输出值,初始化命令执行完成后,COM_RST和DB31.DBX44.0自动复位,并切换到自动控制模式,通过置位DB31.DBX44.2和DB31.DBX44.1对模块进行读写操作,每次读写完成后模块将读写位复位,所以必须循环置位读写位,读写过程是异步操作,保证了数据读写的快速性,但同时也增加了总线的负荷。如果不通过读写位进行读写操作,CPU与FM355模块的通信则将自动通过FM355的逻辑地址完成,通信时间需要2~3个CPU扫描周期(只适合中央机架安装方式)。在后续的程序中,直接调用函数“FM_PID”(FB31)并生成背景数据块DB31,选择模块地址和PID通道号与FM355模块建立通信关系。

每一个PID回路,都需要通过FB31建立一个独立的背景数据块,背景数据块是CPU与FM355模块的接口数据区。通过接口数据区,CPU将设定值发送到模块中,同时模块将反馈的状态信息复制到接口数据区。在背景数据块中的参数有三种数据类型:

1)输入数据类型,数据的流向从CPU到FM355模块,在数据块中的地址及功能见表11-16。

11-16 PID_FM函数背景数据块输入参数

978-7-111-28718-6-Chapter11-113.jpg

2)输出数据类型,数据的流向从FM355模块到CPU,在数据块中的地址及功能见表11-17。(www.xing528.com)

11-17 PID_FM函数背景数据块输出参数

978-7-111-28718-6-Chapter11-114.jpg

(续)

978-7-111-28718-6-Chapter11-115.jpg

(续)

978-7-111-28718-6-Chapter11-116.jpg

3)输入/输出数据类型,命令从CPU传送到FM355模块,模块将反馈信息传送到与设定相同的地址中,数据的流向是双方向的,在数据块中的地址及功能见表11-18。

11-18 PID_FM函数背景数据块输入/输出参数

978-7-111-28718-6-Chapter11-117.jpg

(续)

978-7-111-28718-6-Chapter11-118.jpg

(续)

978-7-111-28718-6-Chapter11-119.jpg

∗:参数也可以在调试工具中修改。

在输入/输出类型中,从参数“op_par”(地址46.0)到参数“cont_par”(地址70.0)为操作参数,如PID回路的设定点、手动输出参数等,参数“cont_par”以后为控制参数,如比例参数、积分参数等。CPU与FM355模块数据的传递通过控制位完成,控制位功能如下:

“COM_RST”(地址44.0):在CPU初始化过程中,将存储于FM355模块的控制参数值复制到背景数据块中,完成后模块将该位复位;

“LOAD_OP”(地址44.1):为1时,将操作参数传送到FM355模块中,完成后模块将该位复位;

“READ_VAR”(地址44.2):为1时,将输出类型参数复制到背景数据块中,完成后模块将该位复位;

“LOAD_PAR”(地址44.3):为1时,将控制参数传送到FM355模块中,完成后模块将该位复位。

在实际编程中,自动模式下背景数据块参数“SP_RE”(地址48.0)作为PID回路的设定点,“PV”(地址14.0)作为实际反馈值用于监控,参数“LMN”(地址26.0)以百分比的形式作为输出值反馈用于监控,输出信号直接通过集成的模拟量或数字量端口输出。通过参数“LMN_REON”(地址56.4)或通过模块集成的数字输入点(在硬件配置中设定)作为手动模式的选择开关,参数“LMN_RE”(地址52.0)作为手动值输出。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈