如何在SCL中实现pointer?

分享到:
334
下一篇 >

菜鸟:

我現在有一個變量int,希望能從這個int中指到我要的DB

比如,現在 int = 1或2或3

我要 指向 DB1或 DB2或 DB3  區所有的的數值,資料, 然後再放到 我要的地方 比如 db 20

大虾:

http://www.ad.siemens.com.cn/club/bbs/post.aspx?b_id=4&a_id=1111882&s_id=0&num=4#anch

菜鸟:

如果我用的是 V12的版本呢?

大虾:

V12我没有用过,但妄加推断SCL作为编程语言,不会有大的差别,绝大部分语法应该类似,某些数据类型有所不同,这方面廖老师写了不少作品。

菜鸟:

#DataLocation:= DPRD_DAT(LADDR:=W#16#00, RECORD=> P#DB20.DBX0.0 byte 100);


#DataLocation是word


我想問如何讓

#DataLocation:= DPRD_DAT(LADDR:=W#16#00, RECORD=> P#DB20.DBX0.0 byte 100);

db20 的 20變一個 可變數 比如


#DataLocation:= DPRD_DAT(LADDR:=W#16#00, RECORD=> P#DB(int).DBX0.0 byte 100);


以上語法是不通的

對不起,我是剛學的多多包涵

斑竹:

SCL是不支持“P#DB20.DBX0.0 byte 100”这样的ANY实参表达式,必须用AT指令构建一个类似ANY的STRUCT,给你一个帖子学习一下,里面有ANY类型的实例:

http://www.ad.siemens.com.cn/club/bbs/post.aspx?b_id=4&a_id=1092917&s_id=0&num=120#anch 

看帖子要仔细,其中所有的链接都可能给出非常有价值的文献,其实1楼给出的链接中基本涵盖了所需的内容。

大虾:

WORD_TO_BLOCK_DB不是可以吗?把Int转成想要的DB块的块号,还是我没理解楼主的意思?


你可能感兴趣: 工控菜鸟园 自动化系统 SCL
无觅相关文章插件,快速提升流量