签到有奖
消息提醒
运维工程师专区
官方商城
扫码分享好友 任选多种周边
测试过每个子程序最多可以编辑的内部存储区地址是60个字节
因为每个外部变量最多可以有16个拐角,
所有我希望有数据地址累加的变量用间接寻址直接用一个IN变量用&VB寻址
问题就如下了:
第一 我把LD0 MOV 到AC1中 然后改他的地址码 ADD-DI,因为地址码是16位的所以必须是DI
这样一弄 我算了下如果不算其他内部地址,就间歇寻址一个拐角最多就只有15个内部变量可以和外部做数据交换 (我需要INOUT变量)
如果就是写进去的变量 我就可以直接用*AC1 MOV B/W/D 没啥问题
但是我用地址码偏移,用AC+偏移 偏移到LD20 22 24 ....(我需要很多个INT变量,所以这么测试的)然后 用*去寻址发现数据有点混乱,
但是我用AC+偏移 偏移到LD20 24 28 ....(跳开4个字节寻址)发现数据就正常 ,但是无法把一个子程序全部编辑完成(我有洁癖,希望很多数据能在一个子程序中间完成),偏移到LD20 我用*LD20 MOV B/W 就浪费了大量的L存储区。
请问各位大神 有没有好的办法,我是初学者,在这个问题上卡了很久了,谢谢各位大神知道讲解。
自学,我还在TIA SCL中FOR中卡壳了大半个月。。。
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
帖子链接:https://www.ad.siemens.com.cn/club/bbs/post.aspx?a_id=1746836&b_id=64&s_id=0&num=4
没发觉你有什么问题。还是我不明白?有些描述上不理解。间距四个地址是对的。
无法编辑完是何解?
多用间接寻址不需要太多L区数量,多了有多的烦恼,少了有少的好处.
小容量的电容用来通高频,小容量的L就是高频的作缓存容器使用的.
大容量的电容用来稳输出,大容量的V就是用来作稳定的全局输出的.
你一个D指定装载一个指针就肯定是只能这么多。你用完了的指针就从新再算过新的指针再覆盖原来的,就够用啦。
例如:a+[(b+c)+(d+e)]=?
a最后计算,要占住一条指针。
bc先计算,各用了一个指针。算完了,de可以用bc的指针的L。这样5个变量就三个指针。
bc用完了,不用再使用了,就把指针的空间释放了给别个用啦。
你是不是这个意思?
我有一帖:无限次调用无限个参数什么的。你找找,可能对你有用。
分享
扫码分享好友 任选多种好礼
收藏
有帮助
欢迎您访问支持中心!
丰富的视频,全方位的文档,大量的网友交流精华……
为了更好的完善这些内容,我们诚邀您在浏览结束后,花20秒左右的时间,完成一个用户在线调查!
感谢您的支持!
密码至少8位,包含大、小写字母,数字和符号至少三种。
允许邮箱和手机接收来自支持中心网站的信息
我已同意《支持中心网站注册协议和隐私政策》
微信登录扫码一键登录
验证码登录
密码登录
二维码失效点击重试
打开微信扫一扫,快速登录/注册
未注册手机验证后自动登录,注册即代表同意《支持中心网站注册协议和隐私政策》
三日内免验证登录
短信登录
登录