piw256开始的数据转化为DB数据

CPU314C2DP主站与从站200进行DP通讯时,希望将iw256开始的12个字节数据转化为DB2.DBx0.0开始的DB数据,将DB2.DBx14.0开始的15个字节数据写到piw256开始的地址中,其中调用了SFC14,和SFC15,程序如下:
 AN    M      0.0
       =     L     20.0
       A     L     20.0
       JNB   _001
       CALL  "DPRD_DAT"
        LADDR  :=W#16#100
        RET_VAL:=MW100
        RECORD :=P#DB2.DBX0.0 BYTE 12
 _001: NOP   0
       A     L     20.0
       JNB   _002
       CALL  "DPWR_DAT"
        LADDR  :=W#16#100
        RECORD :=P#DB2.DBX14.0 BYTE 15
        RET_VAL:=MW102
 _002: NOP   0
 ,注:已经建立了DB2数据块,并且在里面建立了足够多的变量。用上述程序调试的结果,SFC14的错误信息是32951,SFC15是32951;已经确认:piw256内都是有数据的,200和300通讯是正常的。
 另外还有个问题,共享数据块是否支持DWord,共享数据块内有bool型、整型变量。

问题补充:
好的,非常感谢。但是我在共享数据块内建立变量输数据类型时,系统就出错误了,只能输bool型和int型

最佳答案

CPU 集成的DP口和EM277通讯不能用SFC14、SFC15来解包和打包,直接使用组态的IO就可以了
   比如
   L PIW256    
   T DB2.DBW0
   L DB2.DBW14
   T PQW256

   共享数据块里当然可以支持DWORD

 补充:

   数据块里可以使用各种数据类型,出错可能是你输入问题或软件问题

提问者对于答案的评价:
谢谢,学习了!

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc311784.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2020年11月1日
下一篇 2020年11月1日

相关推荐