登录
首页 PLC论坛 西门子SIEMENS
回帖 发帖
正文

主题:[求助] 帮忙看下这些程序是什么意思

点击:1586 回复:4

L       P##TEMP25
LAR1
L       WW#16#1002
T       LW[AR1,P#0.0]
L       #CFG_DATA_IN.IN4
SLW   1
T       LW[AR1,P#2.0]
L       DINO
T       LW[AR1,P#4.0]
L       #CFG_DATA_IN.IN3
DEC   1
SLD   4
L       P##PCD_1
+D
TAR2
AD    DW16#FFFFFF
+D    
T       LW[AR1,P#6.0]
CALL  DPWR_DAT                //调用SFC15系统功能块
LAAR:=#CFG_DATA_IN.IN1
RECORD:=#TEMP25
07-09-11 19:20
楼上的朋友:
程序的用意是, DP主站向一个DP从站(比如变频器MM4或者智能仪表)发送数据. 发送数据的可能排序:
LW[AR1,P#0.0]
LW[AR1,P#2.0]
LW[AR1,P#4.0]
LW[AR1,P#6.0]
CALL  DPWR_DAT                //调用SFC15系统功能块
LAAR:=#CFG_DATA_IN.IN1
RECORD:=#TEMP25    
楼上的朋友, 通常调用SFC15应该是像下面这个样子:
CALL  "DPWR_DAT"
      LADDR  :=
      RECORD :=
      RET_VAL:=
如果你不介意的话, 请把你的正确程序压缩成 rar或者zip格式. 发送给我: robertji211@126.com
我可以在自己的电脑上阅读你的完整程序, 弄通之后告诉你!
07-09-12 11:49
对原始数据的再处理, 为什么要像你的程序中那么做, 我不明白. 只有等待你发过来的程序!
CFG_DATA_IN.IN3 -------> LW[AR1,P#6.0]
CFG_DATA_IN.IN4 -------> LW[AR1,P#2.0]
07-09-12 11:55
robertjml 你好。我把程序发到你邮箱上,请你查收。还有请问下为什么LW[AR1,P#0.0]=W#16#1002 这个常数在数据通信是起什么作用.
如下面程序(写参数P401.1)
       1. W#16#100(即256)是硬件组态时PKW的起始地址
       2 .将从站数据读入DB1.DBX0.0 开始的8个字节(P#DB1.DBX0.0 BYTE 8)
                    PKE -> DB1.DBW0
                    IND -> DB1.DBW2
                    PWE1 -> DB1.DBW4 参数值的高字位
                    PWE2 -> DB1.DBW6 参数值的低字位
       3 . 将DB1.DBX28.0 开始的8个字节写入从站(P#DB1.DBX28.0 BYTE 8
                     DB1.DBW28 -> PKE
                     DB1.DBW30 -> IND
           参数值的高字位 DB1.DBW32 -> PWE1
           参数值的低字位 DB1.DBW34 -> PWE2
若按上面程序说法应该是:DB1.DBW28 =1002即读P002参数请求这写参数就相反啊。
07-09-13 19:24
zhw76:
你是在研究"如何使用PKW (parameter interface)在DP-Master和DP-Slave(比如MM4, 6SE70变频传动)来读或写参数的参数值! ---- 缺点: 占用Profibus-DP通讯资源和CPU模板内存.
现在, 大多数传动工程师都不采用"PKE/IND/PWE"这种方法. 而是使用"Drive Monitor"或者"SIMOVIS"来读或写参数的参数值!
07-09-14 10:15

工控新闻

更多新闻资讯