


价格:111起
0
联系人:
电话:
地址:
西门子6GK7343-1EX30-0XE0 型通讯模块西门子6GK7343-1EX30-0XE0 型通讯模块西门子6GK7343-1EX30-0XE0 型通讯模块
西门子6GK7343-1EX30-0XE0 型通讯模块西门子6GK7343-1EX30-0XE0 型通讯模块西门子6GK7343-1EX30-0XE0 型通讯模块
S7-200编程语言的基本单位是语句,而语句的构成是指令,每条指令有两部分:一部分是操作码,另一部分是操作数。操作码指出这条指令的功能是什么,操作数则指明操作码所需要的数据所在。所谓寻址,就是寻找操作数的过程。S7-200 CPU的寻址分为三种:立即寻址、直接寻址和间接寻址。
1)立即寻址
在一条指令中,如果操作码后面的操作数就是操作码所需要的具体数据,这种指令的寻址方式就叫立即寻址。
例如,在传送指令MOV IN OUT中,操作码“MOV”指出该指令的功能是把IN中的数据传送到OUT中,其中IN为源操作数,OUT为目标操作数。
若该指令为MOVD 2505 VD500,则其功能为:将十进制数2505传送到VD500中,这里2505就是源操作数。因这个操作数的数值已经在指令中,不用再去寻找,这个操作数即为立即数。这个寻址方式就是立即寻址方式。而目标操作数的数值在指令中并未给出,只给出了要传送到的VD500,这个操作数的寻址方式就是直接寻址。
2)直接寻址
在一条指令中,如果操作码后面的操作数是以操作数所在地址的形式出现的,这种指令的寻址方式就叫直接寻址。
例如:MOVD VD400 VD500
功能:将VD400中的双字数据传给VD500。
3)间接寻址
在一条指令中,如果操作码后面的操作数是以操作数所在地址的地址形式出现的,这种指令的寻址方式就叫间接寻址。
例如:MOVD 2505 *VD500
*VD500是指存放2505地址的地址。
接收的过程如上图所示,从图的左侧来了一个字符将会送到SMB2当中,然后通过用户程序在8号中断事件当中把SMB2的值传送给数据缓冲区中的个字节,接下来二个字节先送到SMB2中,再由SMB2送给二个字节,以此类推,n个字节也会相应地进到数据缓冲区中的n个字节。数据缓冲区字节的起始地址是如何定义以及这些字节如何能够一一对应?使用字符接收方式的过程中已经不需要RCV指令,而是人为地在中断号为8号或者25号的中断事件中编写程序,人为地把SMB2一个一个赋给地址区间,不一定是连续的,主要看用户编写习惯。
(3)自由口通讯FAQ
Q1:如何人为结束RCV接收状态?
答:接收指令控制字节(SMB87/187)的en位可以用来允许/禁止接收状态。可以设置en为"0",然后对此端口执行RCV指令,即可结束RCV指令。
Q2:使用自由口通讯,如何设置从站地址?
答:,自由口是一个仅仅能够定义收发的基本通讯协议。如果在客户的网络结构中期待出现主从关系,那么需要在主站的发送报文中定义