1、(已结束)工控PLC擂台第3期PLC模拟量输入输出程序云锋 建议删除该贴! | 收藏 | 回复 | 修改 | 2010-09-10 16:19:10 楼主 现有压力变送器一只,量程06MPa,输出420mA,请选择CPU及AI/O模块,写出模拟量的输入输出程序,并对程序作出注释及说明。压力要求精确到0.01MPa。PLC品牌不限。工控PLC擂台每周一期,本期下周末结贴。奖项设置:一等奖1名:50MP,二等奖5名:10MP,三等奖10名:30积分。 MP介绍:gongkongMP即工控币,是中国工控网的用户积分与回馈系统的一个网络虚拟计价单位,类似于大家熟悉的QB,1个MP=1元人民币。 MP有
2、什么用?兑换服务:以1个MP=1元来置换中国工控网的相关服务。 兑换现金:非积分获得的MP可兑换等值现金(满100MP后、用户可通过用户管理后台申请兑换)。 总记录数 29 总页数 1 当前页 1931 4: 引用 | 回复 | 管理 | 设为最佳回复| 2010-09-10 16:45:08 1楼 siren 压力变送器有0-10V的和0-5V的,请选型是别只选4-20mA的了。引用 | 回复 | 管理 | 设为最佳回复| 2010-09-10 16:50:41 2楼 永不止步 选用西门子314CPU,并且选用SM331.SM332两种模块,具体订货型号如下表,输入输出均为4-20MA信号采
3、用PID调节控制压力平衡,由于FB41块比较大,故分两部分截图,具体I/O通道及程序步骤如下:引用 | 回复 | 管理 | 设为最佳回复| 2010-09-10 16:52:00 3楼 ye_w 重新编辑有问题,请大家看13楼 引用 | 回复 | 管理 | 设为最佳回复| 2010-09-10 16:54:14 4楼 云锋 引用siren 的回复内容: 压力变送器有0-10V的和0-5V的,请选型是别只选4-20mA的了。也可以用电压信号输入的模块来解题,但注意模拟量输出信号类型应与输入相同。引用 | 回复 | 管理 | 设为最佳回复| 2010-09-10 19:39:48 5楼 彩虹 硬件
4、配置表硬件品牌型号数量功能siemens 电源模块6ES7 407-0DA01-0AA0 1电源模块 输出4A DC24V siemens CPU312 6ES7 312-1AD10-0AB0 1CPU312,16K 内存 siemens I/O模块323 6ES7 323-1BH01-0AA018 点输入24VDC;8 点输出24VDC 模块siemens 模拟量 334 6ES7 334-0CE01-0AA0 1模拟量输入4路模拟量输出2路ifm压力传感器ifm 06MPa1用于检测压力引用 | 回复 | 管理 | 设为最佳回复| 2010-09-10 20:01:40 6楼 彩虹 I/O
5、分配表I0.0手动I0.1自动Q0.0自动指示Q0.1手动指示Q0.2报警指示PIW272模拟量输入PQW272模拟量输出引用 | 回复 | 管理 | 设为最佳回复| 2010-09-10 20:35:28 7楼 彩虹 OB35Network 1 convert analog input to engineering unitfor the exanple .assume that there is a level transmitter at piw272 ,generating a 4-20mA signal ,with 4mA=0 inches,and 20mA=600inches. m
6、ineu must be set to the engineering unit value corresponding to 0 mA,which is- 12 inches .maxeu is set to the eu value corresponding to 20 mA,or600 inches.as long as the analog input signal is between 4 to 20 mA,tank_level will be set to the current height in inches. CALL FB 100 , DB100 /调模拟量输入量化程序,
7、scale analog input to engineering unitsraw :=PIW272mineu:=0.000000e+000 maxeu:=6.000000e+006 valeu:=DB10,DBD0Network 2 convert setting in engineering units to analog outputin this example ,assume that pqw272 connects to a control value that is fully closed at 0 V output ,and fully open at 10 V outpu
8、t .valve_pos is a number between 0 and 100 ,indicating the valve open percentageCALL FB 101 , DB101 /调模拟量输出量化子程序,unscale fromeu range to analog output rangevaleu:=DB10,DBD20mineu:=0.000000e+000 maxeu:=1.000000e+002 raw :=PQW272call fc 10 /调用压力换算程序,press conversion引用 | 回复 | 管理 | 设为最佳回复| 2010-09-10 20
9、:51:29 8楼 彩虹 FC 10 :press conversion 引用 | 回复 | 管理 | 设为最佳回复| 2010-09-10 21:25:13 9楼 彩虹 FB100 IN 的局部变量表namedata typeaddressinitialcommetrawint0.00value from analog input card ,0.27648 rangemineureal2.00.000000e+000engineering unit value corresponding to 0 raw maxeureal6.06.000000e+006eu value correspo
10、nding to 27648 rawFB100 OUT 的局部变量表namedata typeaddressinitialcommetvaleureal10.00.000000e+000rw ,scaled to engineering unitsFB100 TEMP 的局部变量表namedata type addresscommetrawdiDint0.0raw ,as 32-bit integerrawrReal4.0raw ,as floating point numberrngeuReal8.0eu range引用 | 回复 | 管理 | 设为最佳回复| 2010-09-10 21:3
11、9:31 10楼 彩虹 FB100:scale analog input to engineering unitsconverts integer analog input value from 0.27648 range to mineu.mineu range .coversion equation is: valeu =raw*(maxeu-mineu)/27648+mineu Network 1 convert raw to realL #raw ITD T #rawdi L #rawdi DTR T #rawr Network 2 calcuate eu spanL #maxeu L
12、 #mineu -R T #rngeu Network 3 convert rawr to eu rangeL #rawr L 2.764800e+004 /R T #rawr L #rngeu *R T #rawr Network 4 add eu offsetL #rawr L #mineu +R T #valeu 引用 | 回复 | 管理 | 设为最佳回复| 2010-09-10 22:01:17 11楼 彩虹 FB101 IN 的局部变量表namedata typeaddressinitialcommetvaleuReal0.00.000000e+000eu value corresp
13、onding to 0 rawmineuReal4.00.000000e+000eu value corresponding to 0 rawmaxeuReal8.01.000000e+002eu value corresponding to 27648 rawFB101 OUT 的局部变量表namedata typeaddressinitialcommetrawInt12.00analog output value in 0.27648 rangeFB101TEMP 的局部变量表namedata typeaddresscommetrngeuReal0.0eu span rawrReal4.0
14、unscaled value as floating pointrawdiDintunscaled value as 32-bit integer 引用 | 回复 | 管理 | 设为最佳回复| 2010-09-10 22:14:36 12楼 彩虹 FB101:unscale fromeu range to analog output rangeunscales from specified eu range to 0.27648 analog output range .unscale equation is: raw =(valeu -mineu)*27648/(maxeu-mineu) if valeumaxeu or valeu ,然后粘贴到ACDSEE相册,转换为GIF格式,然后上传