找答案的高端用户(找答案钻石及双钻级别的用户)将尽可能从此问题下的所有回
答中,为您推荐最佳答案。届时您可以根据推荐数采纳答案。
如果自提问时间起7天内您仍无法选出最佳答案,您可以选择“无满意答案”关闭此问题。
小程序查看
手机扫码追踪该问题
手机扫码追踪该问题,
觉得实用,立即去分享!
点击复制链接
如果楼主在程序中的注释是想让程序完成的目的,不过该程序实现不了。
1、首先熟悉:
AR1和AR2,每个32位:
当使用在区域内寄存器间接寻址中时,我们知道这时的AR中的内容只是指明数值单元,因此,区域内寄存器间接寻址时,寄存器中的内容等同于上帖中提及的存储器间接寻址中的双字指针,也就是:
其0-2bit,指定bit位,3-18bit指定byte字节。其第31bit固定为0。
AR:0000 0000 0000 0BBB BBBB BBBB BBBB Bnnn
执行L P#5.0 , LAR1 后AR1中为0000 0000 0000 0000 0000 0000 0010 1000
2、 L 16
+AR1
就是这句是什么意思?有什么作用?
L 16 // 将数值装入累加器 1 低字中。
+AR1// +AR1:使用该指令,可以将语句中或累加器 1 低字中定义的偏移量加至地址寄存器 1。
首先将整数( 16 位)扩展为带有其正确符号的 24 位数,然后加到地址寄存器 1
的最低有效 24 位(地址寄存器 1 中部分相关地址)。地址寄存器 1 中 ID 区
部分(位 24、25 和 26)保持不变。
,原AR1为0000 0000 0000 0000 0000 0000 0010 1000,加16(即二进制10000)后,AR1为0000 0000 0000 0000 0000 0000 0011 1000,即表示 P#7.0,其后的循环为P#9.0.、P#11.0、P#13.0.。
3、楼主所述: L 4 表示要传送的字长度,?
L 4 表示要传送的字的个数,即传送4个字,这是设定循环的次数。
4、就是PIW310到PIW316四个字?
不对。循环首次AR1为P#5.0, [AR1,P#306.0] 为P#311.0(即306.0+5.0=311.0),其后AR1分别为P#9.0.、P#11.0、P#13.0.,则[AR1,P#306.0] 分别为P#315.0,#317.0,#319.0。
应该是PIW311,PIW315,PIW317、PIW319。
5、相关文档:
《用于S7-300 和S7-400 的语句表(STL)编程手册》下载:
http://www2.ad.siemens.com.cn/download/Upload/AS/manual/1008[1].pdf
见《详解西门子间接寻址.pdf》下载:
http://ishare.iask.sina.com.cn/f/3022080.html
首次回答问题,获得
双倍西币积分!
立即成为技术知识分享的一员!
找答案微信小程序
提问
搜索
欢迎您访问支持中心!
丰富的视频,全方位的文档,大量的网友交流精华……
为了更好的完善这些内容,我们诚邀您在浏览结束后,花20秒左右的时间,完成一个用户在线调查!
感谢您的支持!