5
上海西门子CPU模块供应上海西门子CPU6ES7214-1AD23-0XB8
上海西门子CPU,6ES7214-1AD23-0XB8,PLC模块,电源模块
西门子CPU代理商,西门子CPU代理商,西门子电缆代理商,西门子电缆一级代理商,西门子电缆总代理商,西门子电缆授权代理商,西门子电缆分销商,西门子电缆代理商,西门子通讯电缆一级代理商,西门子通讯电缆分销商,西门子通讯电缆分销商,西门子电源代理商,西门子电源一级代理商
关于S7-300/400地址寄存器与累加器
例1
L +300 //将数值装入累加器1人低中
+AR1 //将累加器1低字中的内容(整数,16位)加到地址寄存器1
例2
+AR1 P#300.0 //将偏移量300.0加到地址寄存器1
没明白它的意思是将300与AR1的内容相加
还是将300传送到AR1
如是内容相加能把例1与例2内部数值用2进制形式各举个例子吗?
*二个问题可以参见图片
1处的ENT指令能不能省略?在300中使用L装载指令就可以把数据装入累加器1,累加器2.。在400中是不是使用L指令也只能装入累加器1和累加器2.如要装入累加器3时必须用ENT指令。也就时如使用L指令3次时,*1次装入的数据就丢失了。
2.处可以看出在运算时它跟300的累加器是一样的。数据是自动上移的。从累加器4复制到累加器3,从累加器3复制到累加器2.累加器4的内容不变。这个跟300的是一样的。
感觉400的PLC计算只用累加器1和2,累加器3和4只是暂存数据用的。不知道上面我的理解对不对。还请指正

图片说明: 1,图片1
佳答案
、个问题:
1、从+300与 P#300.0 的类型区别,一个是十进制常数,一个是地址常数。
2、有关指令:
AR1:加地址寄存器 1 中内容的整数(16 位)通过累加器 1 低字中的数值定义。允许范围-32768 - +32767。
+AR1 <P#Byte.Bit>:要加上的偏移量通过 <P#Byte.Bit> 地址定义。
3、例,+300,将+300加到AR1中整个的数据上:
+AR1原内容:0000 0000 0000 0000 0000 0000 1101 0100(b)即表示地址26.4。加300(十六进制12C)后为0000 0000 0000 0000 0000 0001 1111 1110(b)即表示地址63.6.。
4、例,P#300.0,只将+300加到AR1中表示字节的地址上:
+AR1原内容:0000 0000 0000 0000 0000 0000 1101 0100(b)即表示地址26.4。加P#300.0后为0000 0000 0000 0000 0001 0100 0011 0100(b)即表示地址326.4.。
、*二个问题:
1、1处的ENT指令可省略。
2、你的理解是对的。
上传截图的例子只是一个描述ENT指令功能的例子,目的是让读者熟悉ENT指令及实数运算后四个累加器当前内容应什么。在实际编程中,关键要清楚各累加器当前装的是什么。
| 6ES7516-3AN02-0AB0 |
| 6ES7515-2AM02-0AB0 |
| 6ES7513-1AL02-0AB0 |
| 6ES7511-1AK02-0AB0 |
| 6ES7512-1CK01-0AB0 |
| 6ES7511-1CK01-0AB0 |
| 6ES7516-2PN00-0AB0 |
| 6ES7512-1DK01-0AB0 |
| 6ES7510-1DJ01-0AB0 |
上海西门子CPU6ES7214-1AD23-0XB8,西门子CPU模块代理商,西门子CPU模块代理商,上海西门子CPU模块供应,上海西门子CPU模块供应,上海西门子CPU模块供应,上海西门子CPU模块供应,上海西门子CPU模块供应