S7 1200有多少种8个寄存器器每一种8个寄存器器范围是多少每一种8个寄存器器有什么用

怎么理解西门子200PLC中的累加器8个寄存器器,如AC0它与普通的M8个寄存器器有什么区别,什么情况下该用累加器8个寄存器器。谢谢对200PLC有些了解可以做些小程序,习惯用梯形图編程希望讲的通俗... 怎么理解西门子200PLC中的累加器8个寄存器器,如AC0,它与普通的M8个寄存器器有什么区别什么情况下该用累加器8个寄存器器。谢谢
对200PLC有些了解,可以做些小程序习惯用梯形图编程,希望讲的通俗些。

采纳数:8 获赞数:3153

被新乡学院共青团评为积极份子,优秀会长获得最佳志愿公益奖!


西门子的累加存器,既然2113叫累5261加8个寄存器那么就有累加寄4102存器的功能,就是数据是按先进先出或者先进后1653出的方式轮流存储的和取出的

和其他存储地址不同的就是AC开头的有4个,AC0,AC1,AC2,AC3  它们共同的特点是同一个累加8个寄存器器地址你可以在┅个程序段的不同的地方存储和取出不同的数据而不混乱,只是每个网络的运算必须得出结果并转存到非AC的地址里存储例如:

8个寄存器器的基本单元是 D触发器,按照其用途分为基本8个寄存器器和移位8个寄存器器基本8个寄存器器(见图)是由 D触发器组成,在 CP 脉冲作用下烸个 D触发器能够8个寄存器一位二进制码。在 D=0 时8个寄存器器储存为 0,在 D=1 时8个寄存器器储存为 1。

在低电平为 0、高电平为 1 时需将信号源与 D 間连接一反相器,这样就可以完成对数据的储存需要强调的是,大型数字系统都是基于时钟运作的其中8个寄存器器一般是在时钟的边緣被触发的,基于电平触发的已较少使用(通常说的CPU的频率就是指数字集成电路的时钟频率)

移位8个寄存器器按照移位方向可以分为单姠移位8个寄存器器和双向移位8个寄存器器。单向移位8个寄存器器是由多个 D 触发器串接而成(见图),在串口 Di 输入需要储存的数据触发器 FF0 就能够储存当前需要储存数据,在 CP 发出一次时钟控制脉冲时串口 Di 同时输入第二个需要储存是的数据,而第一个数据则储存到触发器 FF1 中

?雙向移位8个寄存器器按图中方式排列,调换连接端顺序可以控制8个寄存器器向左移位,增加控制电路可以使8个寄存器器右移这样构成雙向移位8个寄存器器。

西门子的累加寄2113存器既然叫累加52618个寄存器器,那么就有累加8个寄存器器4102的功能就是数据是按先进1653出或者先进後出的方式轮流存储的和取出的。和其他存储地址不同的就是AC开头的有4个AC0,AC1,AC2,AC3  ,它们共同的特点是同一个累加8个寄存器器地址你可以在一个程序段的不同的地方存储和取出不同的数据而不混乱只是每个网络的运算必须得出结果并转存到非AC的地址里存储。例如:

从你的图可以看出AC0累加8个寄存器器可以在双整数与整数不同格式出现而普通的v8个寄存器器就不行了
是不?其他的还是不太了解

1.它们是可以象存储器

2.可以鼡它来向子程序传

程序返回参数,以及用来存储计算的中间结果.

间接寻址是指用指针来访问存储区数据指针以双字的形式存储其它存储區的地址。只能用V存储器、L存储器或者累加器8个寄存器器(AC1、AC2、AC3)作为指针要建立一个指针,必须以双字的形式将需要间接寻址的存儲器地址移动到指针中。指针也可以作为参数传递到子程序中.

注意:AC0只能存入指针变量中的数值.不能做指针.

AC0在字或双字中处于最低8位;而AC1是仳AC0高8位;

下载百度知道APP抢鲜体验

使用百度知道APP,立即抢鲜体验你的手机镜头里或许有别人想知道的答案。

方法如下加一台s7-1200CPU,选择一台1200的CUP命名为PLC1,作为主站,以太网地址默认192.168.0.1添加CM1277-RS485模块,其端口号为1在端口组态选项中,传输率、奇偶校验等设置要与后面程序中端口初始换設置一致保持缺省设置即可。点击CPU属性中的系统和时钟存储器选项将系统位定义在MB1,我们主要使用初次扫描位M1.0来编写Modbus通讯初始化程序
    首先在PLC2中添加新的变量表 ,定义变量符号应用于从站通讯指令中的结果输出地址等,便于后面通讯程序中地址的选择变量定义如下圖所示。   
    再添加一个全局数据块在数据块中定义一个Word类型(1…20)的数组,作为保持8个寄存器器作为从站中存储和监视主站写入数据的地址,如下图所示
同样的方法,在主站PLC1中添加新的变量表同样应用于通讯模块中,详细应用见主站通讯程序定义变量符号如下图所示。
    添加一个全局数据块在数据块中定义一个Bool类型的(1..20)数组,用来存放读到的从站DI通道状态.再定义一个word类型数组用来存放写入从站保持8个寄存器器的数据,如下图所示
在项目树PLC2的程序块文件夹中,双击main打开在指令树的通讯指令中,展开通讯处理器文件夹选择如下图MB_COMM-LOAD的装載指令,拖放到程序段一中自动生成背景数据块。
    设置装载指令在使能端添加一个常开触点,选择首次扫描位M1.0在REQ处插入一个上升沿觸点指令,检测首次扫描位的上升沿Port参数选择RS485端口号1,波特率设置为9600奇偶校验设置为0(即无校验)。设置输出参数此时就用到了之湔变量表中定义过的地址。如下图所示
    在指令树中,选择modbus从站指令MB_SLAVE拖放到程序段二中,自动生成背景数据块,单击确定
    在上面的初始囮程序中的mb_db指令中,选择刚生成的modbus从站指令的背景数据块这样装载指令就完成了。在modbus从站指令中将从站地址MB_ADDR设置为2。保持8个寄存器器MB_HOLD_REG  茬上面的初始化指令mb_db参数处选择刚生成的modbus主站指令的背景数据块在modbus主站指令中,REQ处输入一个上升沿触点指令使用边沿信号触发读取modbus从站的数据。输入modbus从站地址2模式输入0,表示读操作访问数据的起始地址输入10001,对应从站s7-1200的输入过程影响区I0.0访问数据长度为16位,读取的數据存放到全局数据块的bool类型数组中设置输出参数,如下图所示
将程序段2复制粘贴到程序段3中,REQ修改为写保持8个寄存器器的请求位modbus從站地址仍然为2,模式改为1表示写操作。访问数据的起始地址写入40001对应从站的保持8个寄存器器数据块,访问数据长度为5个字要写的數据存放到全局数据块的woed类型数组中。修改输出参数设置如下图。
    这样modbus主站的程序就编写完成了单击保存按钮保存项目,选中PLC1编译所有的硬件组态和程序。
    在项目树PLC1中添加新监控表一,输入与读取功能码02H相关的数据地址如下图所示。
    再添加一个监控表二输入与寫入功能码16H相关的数据地址,如下图所示
    同样的方法,在PLC2中添加监控表一输入输入过程影响区的位地址,如下图所示
    再添加一个监控表二,输入保持8个寄存器器word类型数组的地址如下图所示。
    单击从站监控表一的全部监视按钮查看从站的DI状态。在主站的监控表一中单击全部监视按钮,将读取从站的DI状态请求位置为1如果通讯正确,将看到主站已经成功读取从站的DI通道值如图所示。
    在主站的监控表二中单击全部监视按钮,修改word数组的值将写保持8个寄存器器请求为置为1,如图所示
    在从站的监控表二中,单击全部监视按钮可鉯看到主站已经成功将值付给从站的保持8个寄存器器的前五个字,如图所示

我要回帖

更多关于 8个寄存器 的文章

 

随机推荐