在编程软件STEP7-Micro/WIN SMART的指令树中,展开调用子例程文件夹,选择初始化PID向导子程序拖放到主程序中,该子程序有多个接口参数,切换到该子程序窗口,程序注释中指出需要在每个扫描周期使用SM0.0从主程序中调用该子程序,变量表给出有关接口参数的含义和取值范围。
拖放初始化PID向导子程序
回到主程序窗口,使能端插入一个常开触点,输入地址SM0.0,过程变量参数处输入模拟量输入地址AIW20,设定值参数处输入VD200,Auto_Manual处输入M0.0,ManualOutput处输入50.0,表示用M0.0控制自动与手动模式。配置PID向导时我们已经设置回路为数字量输出,因此手动模式时PID输出占空比为百分之五十,如果配置向导时没有添加PID手动控制,这两项不会出现。
设置参数地址
Output处输入Q1.6,用PWM输出驱动加热装置,HighAlarm、LowAlarm、ModulError处输入满足高低限报警、模块错误报警条件时相应的输出标志位,如果在配置向导时没有启用这些报警功能,相应的项也不会出现,这里我们分别输入Q0.0、Q0.1、Q0.2。另外,打开PID向导生成的符号表,查看各回路参数的详细地址,从而可以使用程序、状态图表、或从HMI设备上修改PID参数值进行编程调试,例如标准化过程变量的地址为VD0,如果想要得到实际工程量,需要编写程序转换。
查看符号表
插入实数相乘指令,在IN1处输入地址VD0,IN2处输入100.0,OUT处输入地址VD204,该指令把标准化的过程变量转化成了实际温度值存放在VD204中。对使用的地址进行符号定义,如下图所示,这样通过调用PID向导生成的子程序使温度保持在给定值的程序就编写完成了,最后,保存编译项目。
编写程序
今天我们学习了西门子S7-200 SMART PID回路控制,调用向导生成的子程序编程,在以后的文章中我们将继续学习西门子S7-200 SMART的相关内容,欢迎大家持续关注!