河南西门子S7-300PLC模块代理商经销-西门子PLC代理介绍西门子S7-300PLC代理由上海钡斯森工业设备有限公司提供西门子模块PLC代理,西门子PLC代理商有限公司西门子变频器代理商有限公司价格 西门子触摸屏代理商有限公司销售 西门子PLC代理商有限公司现货 西门子PLC代理商有限公司代理商,西门子数控NCU代理商,西门子电缆代理商

在S7中,除了过程映像区外,还可以通过外设寻址来访问输入/输出。
一、 外设寻址
与过程映像区不同,外设寻址是指直接访问外设模块。外设寻址不能对外设进行位寻址,
要求必须至少以字节为单位进行数据读写,即可以字节、字或者双字为单位进行寻址。其格式如下:
PIB(Peripheral input Byte):外设字节输入
PIW(Peripheral input Word):外设字输入
PID(Peripheral input D-word):外设双字输入
PQB(Peripheral output Byte):外设字节输出
PQW(Peripheral output Word):外设字输出
PQD(Peripheral output D-word):外设双字输出
二、 为什么要用外设寻址
1、访问地址出了过程映像区的范围
对于西门子S7-300的CPU而言,以CPU-315 2DP为例(如图1所示),I/O地址区计有2048个字节的输入和2048个字节的输出,但其过程映像区的大小仅为128字节。显然,过程映像区并不能涵盖整个CPU的输入/输出地址区域。当我们要访问的I/O地址出了过程映像区的范围,就必须使用外设寻址了。
对于西门子S7-400的CPU而言,以CPU-416 2DP为例(如图2所示),输入/输出均16KB,过程映像区默认为512个字节,但*可调整为16KB。当访问地址出了默认的过程映像区范围时,我们就要做以下选择了:

或者修改过程映像区的大小
或者采用外设寻址
2、输入/输出模块地址未分配给过程映像区
特别是对于西门子S7-400系列CPU而言,要想使用过程映像区,需给输入/输出模块地址分配过程映像,OB1-PI或者PIP中的一个(详见《西门子S7-300/400进阶笔记2:过程映像区的分类及其更新机制》一文)。当然,我们也可以不为其分配过程映像区,而直接使用外设寻址。
3、对外设访问实时性要求比较高的场合
外设寻址跳过了过程映像的刷新过程,CPU和输入/输出模块直接做数据交换,实时性会相对好一些。
三、 外设寻址的特点
1、 外设寻址的*小单位为字节,通过装载指令"L"*多了读写4个字节的连续地址区域,如:L PID 10。如果需要读写大于4个字节的连续地址区域,可用SFC14(DPRD_DAT)和SFC15(DPWR_DAT)来实现。
2、 外设寻址可以访问已经被分配至过程映像区的I/O地址区域。同时使用外设寻址和过程映像区访问同一地址时,在程序执行的某一时刻,二者的结果会存在差异。以下面一段程序为例:
其中,"T PQB1"为外设寻址,结果会直接送给输出模块;而"AQ1.0"访问的是输出过程映像区,Q1.0的值只有在下个循环周期的"输出映像区的数据写入输出模块"阶段,才能送给输出模块。在当前的循环周期内,二者对输出的作用可能是不同的。
3、 由于过程映像区属于CPU的内部存储区,因此,相比访问过程映像区,CPU直接访问外设地址会更加耗时一些,但这一时间一般来说仍然比CPU的循环扫描周期要短的多,因此,的来说,外设寻址的实时性要好一些。
6.点击OK ,存盘编译。
90:如何用CP342-5组态PROFIBUS主站?
1.在STEP7的SIMATIC Manager窗口中在插入一个S7300站;
2.重复以上组态从站步骤的2-4步,注意插入CP342-5时,不能点击”new…”按钮,而直接用鼠标选中以上创建的PROFIBUS(1)网络,点击OK;
在'Operating Mode'标签页中选择'DP Master'选项;
91:采用CP342-5的DP通讯口与采用CPU集成的DP通讯口进行通讯有什么不同,这两种通讯口功能有什么不同?
可以通过CPU集成的DP通讯口或CP443-5模板的DP通讯口,调用Load/Transfer指令(语句表编程,如图2)、Mov指令(梯形图编程)或系统功能块SFC14/15访问从站上的I/O数据;
如果您使用342-5模块的DP通讯口进行通讯,那么您就不能使用Load/Transfer指令(语句表编程)、Mov指令(梯形图编程)直接访问PROFIBUS从站的I/O数据。采用CP342进行PROFIBUS通讯包括两个步骤:

1.CPU将数据传输到CP通讯卡的数据寄存器当中;
2.数据从CP342-5的数据寄存器当中写到PROFIBUS从站的Output数据区(反过来就是CPU读取从站Input数据的过程);CP342-5与从站的Input/Output数据区的通讯过程是自动进行的,但是您还必须自己手动的调用功能块FC1(”SEND”)和FC2 (”RECV”),完成CP342-5与CPU之间的数据交换。
92:功能块DP_SEND、DP_RECV'的返回值代表什么意思,如何理解?
DP_SEND'功能块包括有'DONE','ERROR' 和 'STATUS'三个参数,用来指示数据传输的状态和*与否。'DP_RECV'功能块包括有'NDR', 'ERROR', 'STATUS' 和 'DPSTATUS'四个参数,用来指示数据传输的状态和*与否。您可以定义相应的数据地址区,存放这些返回值,分析返回的值的意思,当Error=False,STATUS=0,DONE=True,NDR=True时,说明CPU与CP342-5之间的数据交换*进行。
93: DP从站,CP模板以及CPU之间的数据通讯过程是如何进行的?
使用CP342-5模块,无论调用'DP_SEND' 功能块还是'DP_RECV' 功能块,您都不能直接读写某个PROFIBUS从站的I/O数据。CP342-5模块有一个内部的Input和Output存储区 ,用来存放所有PROFIBUS从站的的I/O数据,较新版本的CP342-5模板内部存储器的Input和Output区分别为2160个字节,Output区的数据循环写到从站的输出通道上,循环读出从站输入通道的数值存放在Input区,整个过程是CP342-5与PROFIBUS从站之间自动协调完成的,您不需编写程序。您可以在PLC的用户程序中调用'DP_SEND'和'DP_RECV'功能块,读写CP342-5这个内部的存储器。
94:通过CP342-5,如何实现对PROFIBUS网络和站点的诊断功能?
用功能块'DP_DIAG' (FC 3) 可以在程序中对cp模块进行诊断和分析,可以通过job类型如DP 诊断列表,诊断单个dp状态,读取dp从站数据,读取cp或cpu的操作模式,读取从站状态等等。
95:为什么当CP342-5模块作为PROFIBUS DP主站,而ET200(如IM151-1或IM153-2)作为从站时,CP342-5上的SF等不停闪烁?
当S7-300系统中的CP342-5作为DP主站,下挂IM153-2 模块时,IM153-2只能作为DP主站,而不是S7从站运行。 可以采取通过GSD文件将ET200从站组态进你的系统。随后IM153模块可作为 DP 标准从站运行。为此,您必须将GSD文件安装到硬件目录中(通过菜单序列Tools > 'Install new GSD file')。在更新了硬件目录后您会在'PROFIBUS-DP > Additional Field Devices'.中发现DP从站。
96:在STEP7中打开一些对象时出错是什么原因?
有的时候您在打开某些项目中的对象时,STEP7会弹出报错窗口,错误信息为 ’*.dll’文件无法被装载,代码是257:5,
错误信息是一个或多个对象不能被显示,出现这种错误的原因是您没有安装与要打开对象相关的软件包。

97:如果想通过上位或触摸屏对PLC中S5TIME类型的参数进行设定,有什么方法?
1.从上位机写整型数INT或实数REAL到PLC,首先该数值需包含以毫秒为单位的时间值,在写入PLC的数据存储区后,利用ITD(Integer to Double Integer)或RND(Real to Double Integer with Rounding Off)将该值转换为双整形,然后将该值写到类型为TIME的变量里,在程序中调用FC40,将TIME转换成S5TIME即可。
2.从上位机写WORD到PLC,首先该数值需包含以某时基为单位的时间值,在写入PLC的数据存储区后,用Word Logic下的WOR_W指令将该值与其时基相或,再利用MOVE指令将得到的数值写入S5TIME类型的变量中。
3.如果使用WinCC作为上位软件,或上位软件支持32位带符号浮点数,可以从上位写32位带符号浮点数到PLC中定义为TIME的变量,然后在程序中调用FC40,将TIME转换成S5TIME即可。
99:如何实现带电拔出或插入模板,即热插拔功能?
硬件要求:
使用普通的S7-300导轨和U型总线连接器是不能实现热插拔功能的,您必须购买有源总线底板,才能实现该功能。另外,您在配置时,必须使用MLFB 6ES7 153-1AA02-0XB0版本以上的接口模块,因为它支持DP协议的DPV1版本,而MLFB IM153-1AA00-0XB0模块是不支持该功能的。目前您能够购买到的IM153接口模块都支持热插拔,只有2-3年以前的IM153接口模块不支持热插拔。
软件要求:您必须在STEP7 5.1版本以上进行配置;
如果您采用S7-400 CPU或S7-400 CP作为DP主站,那么您可以直接在IM153的属性窗口的'Operating Parameters'标签页里配置热插拔功能。
1.在STEP7的硬件组态窗口的PROFIBUS DP目录中选择相应IM153模块,可以看出该模块支持“module exchange in opration”(热插拔);
2.将IM153模块拖到PROFIBUS总线上;
3.选择I/O模块,插入到ET200M站的各个槽位中;
4.双击ET200M站,打开属性窗口,选中“Replace modules during operation“(热插拔)选项;
5.窗口中提供了ET200M站热插拔功能所需的有源总线导轨的订货号;
6.属性窗口中提供了该型号IM153,插入的I/O模块对应使用的有源总线底板的订货号
除了以上的硬件组态之外,还要向S7-400中下载OB82、OB83、OB84、OB85、OB86、OB87、OB121、OB122等组织块。当ET200M从站上进行模块的热插拔时,中断组织块OB83 ,OB85,OB122被调用。
如果您采用S7-300 CPU 或 CP 342-5作为DP主站,那么您只能够通过安装GSD文件的方式将IM153模块组态成DP从站,并双击IM153,打开它的属性窗口,进行设置。否则您在STEP7的硬件组态窗口中直接将PROFIBUS DP目录ET200M文件夹下IM153模块挂在PROFIBUS总线上.
