请问用STL语言编程通过FC105实现模拟量批量处理的程序是怎么写的?尽可能详细因为基础弱,感谢
最佳答案
1、STL语言编程通过FC105实现模拟量批量处理的程序是怎么写的?
批量处理必须是转换的上、下限参数一致。下面是一个信手写的程序,未经调试,但应用指针寻址的程序结构没有问题。
2、例如模拟量PIW256- PIW270(共8个通道的压力模拟量),调用FC105转换实际压力值分别送入DB20(DBW0-DBW14)中
OPN DB 20 //打开DB 20
L P#256.0 //初始读通道指针
LAR1
L P#0.0 //初始写指针
LAR2
L 8 // 8个通道的循环计数为初值
M001: T MB 10 //计数值 送入MB 10
L PIW [AR1,P#0.0] //按读指针指示的地址读通道数据
T MW100 //暂存通道数据
CALL "SCALE"//调用FC105
IN :=MW100 //输入暂存通道数据
HI_LIM :=10.0 //例如,压力范围上限
LO_LIM :=0.0 //例如,压力范围下限
BIPOLAR:=FALSE //极性选择,此处为单极性
RET_VAL:=MW0 //错误信息
OUT :=MW102 //输出实时压力
L =MW102 //实时压力
T DBW [AR2,P#0.0] //按写指针指示的地址写数据
+AR1 P#2.0 //读指针指向下一数据地址
+AR2 P#2.0 //写指针指向下一数据地址
L MB 10 //取循环计数值
LOOP M001 //循环计数值如为0则结束循环;如不为0减1后则转向标号为M001的语句,继续循环。
3、有关指针寻址:
见《关于S7-300和S7-400指针寻址的说明与例程(更新版)》下载:
http://www.ad.siemens.com.cn/download/SearchResult.aspx?searchText=F0215
4、有关FC105:
见《 FC105 , FC106使用与实例》下载:
http://download.gongkong.com/file/2005/12/17/FC105.doc
提问者对于答案的评价:
您回答的很清楚,感谢!那如果在模拟量处理的基础上加入一个报警程序,就是DB20中的工程量超过DB3中的报警上下限值,然后把报警状态写入DB4,那报警程序是加入之前的程序中还是另外编写一个报警程序块呢?可以的话能给出例程吗?新手不熟悉。再次感谢!
专家置评
请参照 阿鸣 - 大师 第17级 给出的答案
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc226516.html