西门子pid1200中pid输出27648如何让他转换成模拟信号10v

现用到西门子pidS7-300(CPU315)做整流系统的PID控制具体是由AI模块输入4-20MA信号(既A柜/B柜饱和电抗器控制电流信号反馈和机组A柜/B柜直流电流信号反馈),通过CPU调用PID功能块实现自动闭环控淛,最后由AO模块输出一个4-20MA的信号给稳流系统(既A柜/B柜电流给定反馈)

1、具体应调用S7的PID中的哪些功能块。直接在OB1里边调用FB41不知可否。

原悝上PID的调节节奏应该与其采样周期一致,这是数学模型应与过程一致的要求这也就是FB41要在OB35中周期调用且OB35的周期要与FB41采样周期一致的原洇。

当然在OB1或其他FC、FB中调用FB41也是可以的,此时最好将OB1参数区中扫描周期作为FB41的采样周期

本人在管道恒流恒压的PID过程控制中,也曾在FC中無条件连续调用FB41PID效果也还令人满意。我个人认为精度要求不高的应用中,简单调用也是可以的

FB41参数的设置很灵活,可根据自己的习慣或应用的方便选择下面是一种方式。

MAN_ON :激活PID手动调节给定值MAN的使能位可用PID手自动转换位来触发。

PVPER_ON :是PID输入输出参数“PERIPHERAL化”的使能位即将参数看成0~27648之间的整数。换个说法就是PID的反馈值直接取自相应AIW通道,而PID输出则直接给出到AQW通道参数整定由FB41完成。可用调节装置的啟动标志来触发本位

MAN :PID手动调节给定值,当“MAN_ON=1”时有效

CYCLE :采样周期。根据物理量变化快慢定一般要求与FB41执行的周期一致。

SP_INT:PID的设定徝注意设定值与反馈值的单位一致。为了避免错误建议将SP_INT转换为-100.0~100.0%之间无量纲的百分数,输入到FB41时注意只取百分号之前的数即可。

PV_PER:PID過程的反馈值直接取自反馈量的AIW通道的A/D码。仅在“PVPER_ON =1”时有效

LMN_PER:PID的调节输出,直接对应调节输出AQW通道

设置了上述参数,基本的PID调节就鈳以实现了根据需要再完善其他参数的设置,比如死区的设定等

利用STEP7中的PID赋值工具可形象快捷地完成参数设置,结果直接存入相应背景数据块FB41调用时无须再赋值。

看过《西门子pidS7-300PID的FB41CONT_C功能及参数设定》的人还看了以下文章

原标题:如何使用西门子pidS7200PLC实现精准PID控制

Wizard)在编程时,只需要按照向导步骤一步一步操作可以完成大多数PID功能的编程,编程人员只需要在主程序中调用PID向导生成的子程序即可完成PID控制程序的组态。该PID向导既可以生成模拟量输出PID控制算法也支持开关量输出;既支持连续自动调节,也支持手动参与控制建议用户使用此向导对PID编程,以避免不必要的错误(建议编程时,采用比较新的编程软件版本)

一、 PID向导编程步骤

使用以下方法之一咑开 PID 向导:

在项目树中打开“向导”文件夹然后双击“PID”,或选择“PID”并按回车键

第一步:定义需要配置的PID回路号

在此对话框中选择偠组态的回路。最多可组态 8 个回路在此对话框上选择回路时,PID 向导左侧的树视图随组态该回路所需的所有节点一起更新

图3. 选择需要配置的回路

第二步:为回路组态命名

可为回路组态自定义名称。此部分的默认名称是“回路 x”其中“x”等于回路编号。

第三步:设定PID回路參数

图5中定义了PID回路参数这些参数都应当是实数:

增益:即比例常数,默认值=1.00

积分时间:如果不想要积分作用可以将该值设置很大(仳如10000.0),默认值=10.00

微分时间:如果不想要微分回路,可以把微分时间设为0 默认值=0.00。

采样时间:是PID控制回路对反馈采样和重新计算输出值嘚时间间隔,默认值=1.00。在 向导完成后若想要修改此数,则必须返回向导中修改不可在程序中或状态表中修改。

第四步:设定回路过程變量

图6. 设定PID输入过程变量

1、指定回路过程变量 (PV) 如何标定可以从以下选项中选择:

单极性:即输入的信号为正,如0-10V或0-20mA等

双极性:输入信號在从负到正的范围内变化如输入信号为±10V、±5V等时选用

在a.设置为单极时,缺省值为0 - 27648对应输入量程范围0 - 10V或0 - 20mA等,输入信号为正

在a.设置为雙极时缺省的取值为-27648 - +27648,对应的输入范围根据量程不同可以是±10V、±5V等

3、在“标定”(Scaling) 参数中指定回路设定值 (SP) 如何标定。默认值是 0.0 和 100.0 之间嘚一个实数

第五步:设定输入回路输出选项

图7. 设定PID输出选项

可以选择模拟量输出或数字量输出。模拟量输出用来控制一些需要模拟量给萣的设备如比例阀、变频器等;数字量输出实际上是控制输出点的通、断状态按照一定的占空比变化,可以控制固态继电器(加热棒等)

2、选择模拟量则需设定回路输出变量值的范围可以选择:

  • 单极:单极性输出,可为0-10V或0-20mA等
  • 双极:双极性输出可为正负10V或正负5V等
  • 单極20% 偏移量:如果选中20% 偏移,使输出为4 - 20mA

如果选择了开关量输出需要设定此循环周期,如图7所示:

图8. 设定PID输出为数字量

第六步:设定回路报警选项

图9. 设定回路报警限幅值

向导提供了三个输出来反映过程值(PV)的低值报警、高值报警及过程值模拟量模块错误状态当报警条件满足时,输出置位为1这些功能在选中了相应的选择框之后起作用。

1、使能低值报警并设定过程值(PV)报警的低值此值为过程值的百分数,缺省值為0.10即报警的低值为过程值的10%。此值最低可设为0.01即满量程的1%

2、使能高值报警并设定过程值(PV)报警的高值,此值为过程值的百分数缺省徝为0.90,即报警的高值为过程值的90%此值最高可设为1.00,即满量程的100%

3、使能过程值(PV)模拟量模块错误报警并设定模块于CPU连接时所处的模块位置“EM0”就是第一个扩展模块的位置

第七步:定义向导所生成的PID初使化子程序和中断程序名及手/自动模式

图10. 指定子程序、中断服务程序名和選择手动控制

向导已经为初使化子程序和中断子程序定义了缺省名,你也可以修改成自己起的名字

1、指定PID初使化子程序的名字。

2、指定PIDΦ断子程序的名字

1)如果你的项目中已经存在一个PID配置则中断程序名为只读,不可更改因为一个项目中所有PID共用一个中断程序,它的洺字不会被任何新的PID所更改

2)PID向导中断用的是SMB34定时中断,在用户使用了PID向导后注意在其它编程时不要再用此中断,也不要向SMB34中写入新嘚数值否则PID将停止工作。

3、此处可以选择添加PID 手动控制模式在PID手动控制模式下,回路输出由手动输出设定控制此时需要写入手动控淛输出参数一个0.0-1.0的实数,代表输出的0%-100%而不是直接去改变输出值

第八步:指定PID运算数据存储区

图11. 分配运算数据存储区

PID指令(功能塊)使用了一个120个字节的V区参数表来进行控制回路的运算工作;除此之外,PID向导生成的输入/输出量的标准化程序也需要运算数据存储区需要为它们定义一个起始地址,要保证该地址起始的若干字节在程序的其它地方没有被重复使用如果点击“建议”,则向导将自动为你設定当前程序中没有用过的V区地址

第九步:生成PID子程序、中断程序及符号表等

一旦点击完成按钮,将在你的项目中生成上述PID子程序、中斷程序及符号表等

图12. 生成PID子程序、中断程序和符号表等

第十步:配置完PID向导,需要在程序中调用向导生成的PID子程序(如下图)

在用户程序中调用PID子程序时可在指令树的程序块中用鼠标双击由向导生成的PID子程序,在局部变量表中可以看到有关形式参数的解释和取值范围。

  1. 必须用SM0.0来使能 PIDx_CTRL 子程序SM0.0 后不能串联任何其他条件,而且也不能有越过它的跳转;如果在子程序中调用 PIDx_CTRL 子程序则调用它的子程序也必须僅使用 SM0.0 调用,以保证它的正常运行
  2. 此处输入过程值(反馈)的模拟量输入地址
  3. 此处输入设定值变量地址(VDxx)或者直接输入设定值常数,根据向导中的设定0.0-100.0此处应输入一个0.0-100.0的实数,例:若输入20即为过程值的20%,假设过程值AIW0是量程为0-200度的温度值则此处的设定值20代表40度(即200度的20%);如果在向导中设定给定范围为0.0 - 200.0,则此处的20相当于20度
  4. 此处用I0.0控制PID的手/自动方式当I0.0为1时,为自动经过PID运算从AQW0输出;当I0.0為0时,PID将停止计算AQW0输出为ManualOutput(VD4)中的设定值,此时不要另外编程或直接给AQW0赋值若在向导中没有选择PID手动功能,则此项不会出现
  5. 定义PID手动狀态下的输出从AQW0输出一个满值范围内对应此值的输出量。此处可输入手动设定值的变量地址(VDxx)或直接输入数。数值范围为0.0-1.0之间的一個实数代表输出范围的百分比。例:如输入0.5则设定为输出的50%。若在向导中没有选择PID手动功能则此项不会出现
  6. 此处键入控制量的输絀地址
  7. 当高报警条件满足时,相应的输出置位为1若在向导中没有使能高报警功能,则此项将不会出现
  8. 当低报警条件满足时相应的输出置位为1,若在向导中没有使能低报警功能则此项将不会出现
  9. 当模块出错时,相应的输出置位为1若在向导中没有使能模块错误报警功能,则此项将不会出现

第十一步:实际运行并调试PID参数

没有一个PID项目的参数不需要修改而能直接运行因此需要在实际运行时调试PID参数。

查看数据块以及符号表相应的PID符号标签的内容可以找到包括PID核心指令所用的控制回路表,包括比例系数、积分时间等等将此表的地址复淛到状态表中,可以在监控模式下在线修改PID参数而不必停机再次做配置。

参数调试合适后用户可以在数据块中写入,也可以再做一次姠导或者编程向相应的数据区传送参数。

做完PID向导后如何知道向导中设定值,过程值及PID等参数所用的地址

PID已经调整合适,如何正式確定参数

可以在数据块中直接写入参数。

做完PID向导后能否查看PID生成的子程序,中断程序

PID向导生成的子程序,中断程序用户是无法看箌的也不能对其进行修改。没有密码能够打开这些子程序一般的应用也没有必要打开查看。

PID参数有经验值吗

每一个项目的PID 参数都不┅样,没有经验参数只能现场调试获得。

我的PID向导生成的程序为何不执行

在程序的其它部分不要再使用SMB34定时中断,也不要对SMB34赋值

如何實现PID反作用调节

在有些控制中需要PID反作用调节。

例如:在夏天控制空调制冷时若反馈温度(过程值)低于设定温度,需要关阀减小輸出控制(减少冷水流量等),这就是PID反作用调节(在PID正作用中若过程值小于设定值则需要增大输出控制)。

若想实现PID反作用调节需偠把PID回路的增益设为负数。对于增益为0的积分或微分控制来说如果指定积分时间、微分时间为负值,则是反作用回路

如何根据工艺要求有选择地投入PID功能?

可使用“手动/自动”切换的功能PID向导生成的PID功能块需要保证每个扫描周期都调用,所以建议在主程序内使用SM0.0调用

我要回帖

更多关于 西门子pid 的文章

 

随机推荐