电动机功率 | 3kW | 外形尺寸 | 2mm |
---|---|---|---|
应用领域 | 环保,食品/农产品,地矿,包装/造纸/印刷,纺织/印染 | 重量 | 3kg |
全新的西门子S7-200SMART带来两种不同类型的CPU 模块,标准型和经济型,*满足不同行业、不同客户、不同设备的各种需求。标准型作为可扩展CPU 模块,可满足对I/O 规模有较大需求,逻辑控制较为复杂的应用;而经济型CPU 模块直接通过单机本体满足相对简单的控制需求。
![]() |
参考价 | ¥233 |
订货量 | 1 |
更新时间:2019-07-11 14:08:03浏览次数:202
联系我们时请说明是化工仪器网上看到的信息,谢谢!
山西西门子S7-200SMART系列PLC代理商
西门子S7-300/400存储器间接寻址
装入(L,Load)指令和传送(T,Transfer)指令用于在存储区之间或存储区与过程输入、过程输出之间交换数据。
装入(L)指令将源操作数装入累加器1,在此之前,累加器1原有的数据被自动移入累加器2。装入指令可以对字节(8位)、字(16位)和双字(32位)迸行操作,数据长度小于32位时,数据在累加器中右对齐,即被装入的数据放在累加器的低端,其余的高位字节填0。
传送(T)指令将累加器1的内容写入目的存储区,累加器1的内容不变。被复制的数据字节数取决于目的地址的数据长度。数据从累加器1传送到外设输出区PQ的同时,也被传送到相应的过程映像输出区(Q区)。装入指令与传送指令见表3-5。
L、T指令的执行与状态位无关,也不会影响到状态位。S7-300不能用L STW指令装入状态字中的FC、STA和OR位。
可以不经过累加器1,直接将操作数装入或传送出地址寄存器,或将两个地址寄存器的内容直接交换,指令TAR1 <D>和TAR2 <D>可能的目的区为双字MD、LD、DBD和DID。
表3-5 装入指令与传送指令
指 令 | 描 述 |
L<地址> | 装入指令,将数据装入累加器1,累加器1原有的数据装入累加器2 |
L STW | 将状态字装入累加器1 |
LAR1 AR2 | 将地址寄存器2的内容装入地址寄存器1 |
LAR1<D> | 将32位双字指针<D>装入地址寄存器1 |
LAR2<D> | 将32位双字指针<D>装入地址寄存器2 |
LAR1 | 将累加器1的内容(32位指针常数)装入地址寄存器1 |
LAR2 | 将累加器1的内容(32位指针常数)装入地址寄存器2 |
T<地址> | 传送指令,将累加器1的内容写入目的存储区,累加器1的内容不变 |
T STW | 将累加器l中的内容传送到状态字 |
TAR1 AR2 | 将地址寄存器1的内容传送到地址寄存器2 |
TAR1<D> | 将地址寄存器1的内容传送到32位指针 |
TAR2<D> | 将地址寄存器2的内容传送到32位指针 |
TAR1 | 将地址寄存器1的内容传送到累加器1,累加器1中的内容保存到累加器2 |
TAR2 | 将地址寄存器2的内容传送到累加器1,累加器1中的内容保存到累加器2 |
CAR | 交换地址寄存器1和地址寄存器2中的数据 |
在存储器间接寻址指令中,给出了一个作地址指针的存储器,该存储器的内容是操作数所在存储单元的地址,地址指针用于指向某个地址。间接寻址的优点是可以在程序处理期间,通过改变指针的值动态地修改指令中的地址。存储器间接寻址可用于循环程序。
地址指针可以是字或双字,定时器(T)、计数器(C)、数据块(DB)、功能块(FB)和功能(FC)的编号范围小于65535,使用字指针就够了。
下面是定时器的存储器间接寻址的例子,用16位的MW10作地址指针。例程中MW10的值为3,T[ MW10]相当于T3。在PLCSIM中监控T3,令I0.2为1状态,可以看到T3的当前值的变化。
L 3
T MW 10
A 1 0.2
L S5T#5S
SD T[MW 10]
其他地址则要使用双字指针,如果要用双字格式的指针访问一个字、字节或双字存储器,必须保证指针的位编号为0,例如P#Q20.0。双字指针的格式如图3-51所示,位0~2为被寻址地址中位的编号(0~7),位3~18为被寻址的字节的编号(0~65535)。只有双字MD、LD、DBD和DID能作地址指针。下面是存储器间接寻址的例子:
L P#4.0
T DBD 10
L QB[DBD 10] //将QB4装入累加器1,地址在双字DBD10中
L P#4.3
T LD 4
A M[LD 4] //对存储器位M4.3作”与”运算,地址在LD4中
P#4.0的值为2#0000 0000 0000 0000 0000 0000 0010 0000。
P#4.3的值为2#0000 0000 0000 0000 0000 0000 0010 0011。
【例3-5】某表格存放在MW10开始的50个字中,表格的偏移量(表格中字的序号)在MD4中。第1个字MW10的序号为0,第2个字MW12的序号为1……在I0.0的上升沿,用间接寻址将表格中相对于偏移量的字的数值传送到MW110中去。
下面是满足要求的语句表程序,LD0是存储器间接寻址的地址指针,它的值实际上是以位为单位的整数。相邻的两个字相差16位,因此偏移量乘以16,加上表格的起始地址,得到要读取的字的地址。本例程在随书光盘的项目“第3章例程”的FC 1中。
A I 0.0
FP M 0.0
JNB m001 //不是I0.0的上升沿则跳转
L MD 4
L L#16
*D //偏移量乘以16或乘以P#2.0
L P#10.0
+D //加上表格的起始地址,得到数据的地址
T LD 0 //数据的地址送地址指针
L MW [LD 0] //表格中的数据送累加器1
T MW 110 //保存数据
m001: NOP 0
S7可以按字节、字和双字访问存储区。数据处理指令包括装入指令和传送指令、比较指令和数据类型转换指令。
累加器是CPU的32位寄存器,在语句表程序中,数据的传送与变换一般通过累加器进行,而不是直接在存储单元之间进行。S7-300有两个累加器,即累加器1和累加器2。S7-400有4个累加器,即累加器1~累加器4。累加器1是主累加器,其余的是辅助累加器。与累加器1进行运算的数据存储在累加器2中。
在设置输入S的上升沿,用PV的预置值被送入加减计数器(Up Down Counter,见图3-49)。复位输入R为1状态时,计数器被复位,计数器位和计数值被清零。在加计数输入信号CU的上升沿,如果计数值小于999,计数器加1。在减计数输入信号CD的上升沿,如果计数值大于0,计数值减1。如果两个计数输入均为上升沿,两条指令均被执行,计数值保持不变。计数值大于0时输出信号Q为1状态;计数值为0时,Q亦为0状态。
如果在设置计数器时CU或CD输人为1,即使它们没有变化,下一扫描周期也会计数。
S7-300/400的定时器长的定时时间为9990s,如果需要更长的定时时间,可以使用图3-48所示的电路。I0.0为0状态时,计数器C0被复位。
I0.0变为1状态时,其常开触点接通,使T11和T12组成的振荡电路(工作原理见图3-47)开始工作,计数器的预置值500被送入计数器C0;I0.0的常闭触点断开,C0被解除复位。
振荡电路的振荡周期为T11和T12预置值之和,图中的振荡电路相当于周期为4h的时钟脉冲发生器。每隔4h,当T12的定时时间到,T11的常开触点由接通变为断开,其脉冲的下降沿通过减计数线圈CD使C0的计数值减1。计满500个数(即2000h)后,C0的当前值减为0,它的常闭触点闭合,使Q5.4的线圈通电。总的定时时间等于振荡电路的振荡周期乘以C0的计数预置值。
图3-47中的减计数器(Down Counter)方框指令的CD是减计数脉冲输入端,其余各输入、输出端的功能与图3-46中的加计数器的相同。在设置输入I1.6的上升沿,用PV的值被送入C1。在减计数输入信号I1.5的上升沿,如果计数值大于0,计数值减1。复位输入I1.7为1时,计数器被复位,计数器位和计数值被清零。计数值大于0时计数器的输出Q为1;计数值为0时,Q亦为0。如果在设置计数器时减计数输入信号CD为1,即使CD没有变化,下一扫描周期也会计数。
图3-47 减计数器
图3-47中标有SC的线圈用来预置计数器的值。I1.6的触点由断开变为接通时,预置值5被送入计数器C1。标有CD的线圈为减计数线圈(Down Counter Coil),在I1.5的上升沿,如果计数值大于0,计数值减1。计数值非0时,C1的常开触点闭合,为0时C1的常开触点断开。复位输入I1.7为1状态时,C1被复位,计数器位和计数值被清零。
为了在计数器计完预置值的脉冲数后进行某种操作,简单的方法是首先将预置值送入减计数器,计数值减为0时,其常闭触点闭合,用它来完成要做的工作。
山西西门子S7-200SMART系列PLC代理商