回复:请教有关使用间接寻址的方法编程的问题?????

Zane

版主 西门子1847工业学习平台

  • 帖子

    21374
  • 精华

    403
  • 被关注

    1504

论坛等级:至圣

注册时间:2003-06-06

钻石 钻石 如何晋级?

发布于 2005-09-14 09:56:59

0楼

UNCTION_BLOCK "DispFB"
TITLE =
AUTHOR : Zane
FAMILY :
NAME :
VERSION : 1.0


VAR_INPUT
LADDR : WORD := W#16#100; //模拟量起始地址
END_VAR
VAR
Channel_Cnt : INT ; //模拟通道计数器
Channel_Total : INT := 48; //所有模拟量通道
Channel_Conv_Ratio : REAL := 1.000000e+001; //模拟量值转换系数
Channel_Err_Code : WORD := W#16#7FFF; //模拟量通道出错值
Channel_Chk_Byte : "Sensor_Err_Bit_Table"; //模拟量通道故障标志位
Channel_Value : "Analog_Table"; //模拟量通道转换值
END_VAR
VAR_TEMP
Channel_Buf : WORD ; //临时变量
Channel_Value_Buf : REAL ; //临时变量
Channel_Signal_Buf : BOOL ; //临时变量
END_VAR
BEGIN
NETWORK
TITLE =

L 0;
T #Channel_Cnt;

lp01: L #LADDR;
SLW 3;
LAR1 ;
L #Channel_Cnt;
L 2;
*I ;
SLW 3;
+AR1 ;
L PIW [AR1,P#0.0];
T #Channel_Buf;
L #Channel_Err_Code;
==I ;
= #Channel_Signal_Buf;

L #Channel_Buf;
ITD ;
DTR ;
L #Channel_Conv_Ratio;
/R ;
T #Channel_Value_Buf;

LAR1 P##Channel_Chk_Byte;
L #Channel_Cnt;
+AR1 ;
O #Channel_Signal_Buf;
O ;
A DIX [AR1,P#0.0];
AN "RST_SB";
= DIX [AR1,P#0.0];

LAR1 P##Channel_Value;
L #Channel_Cnt;
L 4;
*I ;
SLW 3;
+AR1 ;
L #Channel_Value_Buf;
T DID [AR1,P#0.0];

L #Channel_Cnt;
L 1;
+I ;
T #Channel_Cnt;
L #Channel_Total;
>=I ;
JCN lp01;
BE ;

END_FUNCTION_BLOCK
Zane 注册自动化系统工程师 Always save before download
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54761条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
X 图片
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。