-
-
legalism 发表于 2006/5/10 9:58:34
"DP_SEND"功能块包括有"DONE","ERROR" 和 "STATUS"三个参数,用来指示数据传输的状态和成功与否。"DP_RECV"功能块包括有"NDR", "ERROR", "STATUS" 和 "DPSTATUS"四个参数,用来指示数据传输的状态和成功与否。您可以定义相应的数据地址区,存放这些返回值,分析返回的值的意思,当Error=False,STATUS=0,DONE=True,NDR=True时,说明CPU与CP342-5之间的数据交换成功进行。12楼 回复本楼
引用 legalism 2006/5/10 9:58:34 发表于12楼的内容
-
-
legalism 发表于 2006/5/10 9:59:37
使用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这个内部的存储器。13楼 回复本楼
引用 legalism 2006/5/10 9:59:37 发表于13楼的内容
-
-
legalism 发表于 2006/5/10 10:00:11
用功能块"DP_DIAG" (FC 3) 可以在程序中对cp模块进行诊断和分析,可以通过job类型如DP 诊断列表,诊断单个dp状态,读取dp从站数据,读取cp或cpu的操作模式,读取从站状态等等14楼 回复本楼
引用 legalism 2006/5/10 10:00:11 发表于14楼的内容
-
-
legalism 发表于 2006/5/10 10:00:57
96:为什么当CP342-5模块作为PROFIBUS DP主站,而ET200(如IM151-1或IM153-2)作为从站时,CP342-5上的SF等不停闪烁?15楼 回复本楼
当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从站。
引用 legalism 2006/5/10 10:00:57 发表于15楼的内容
-
-
legalism 发表于 2006/5/10 10:01:33
有的时候您在打开某些项目中的对象时,STEP7会弹出报错窗口,错误信息为 ’*.dll’文件无法被装载,代码是257:5,界面如下:16楼 回复本楼
可以看出,上面的错误信息是一个或多个对象不能被显示,出现这种错误的原因是您没有安装与要打开对象相关的软件包。
引用 legalism 2006/5/10 10:01:33 发表于16楼的内容
-
-
legalism 发表于 2006/5/10 10:03:39
1、从上位机写整型数INT或实数REAL到PLC,首先该数值需包含以毫秒为单位的时间值,在写入PLC的数据存储区后,利用ITD(Integer to Double Integer)或RND(Real to Double Integer with Rounding Off)将该值转换为双整形,然后将该值写到类型为TIME的变量里,在程序中调用FC40,将TIME转换成S5TIME即可。17楼 回复本楼
2、从上位机写WORD到PLC,首先该数值需包含以某时基为单位的时间值,在写入PLC的数据存储区后,用Word Logic下的WOR_W指令将该值与其时基相或,再利用MOVE指令将得到的数值写入S5TIME类型的变量中。
3、如果使用WinCC作为上位软件,或上位软件支持32位带符号浮点数,可以从上位写32位带符号浮点数到PLC中定义为TIME的变量,然后在程序中调用FC40,将TIME转换成S5TIME即可。
引用 legalism 2006/5/10 10:03:39 发表于17楼的内容
-
-
legalism 发表于 2006/5/10 10:04:11
SFC 0 "SET_CLK" 设置CPU时钟18楼 回复本楼
SFC 1 "READ_CLK" 读出CPU时钟
FC 3 "D_TOD_DT" 从DATE_AND_TIME 中取出DATE。
FC 6 "DT_DATE" 从DATE_AND_TIME 中取出the day of the week,即星期几
FC 7 "DT_DAY" 从DATE_AND_TIME 中取出时间
FC 8 "DT_TOD"
FC33用于S5TIME到TIME的转换
FC40用于TIME到S5TIME的转换
引用 legalism 2006/5/10 10:04:11 发表于18楼的内容
-
-
legalism 发表于 2006/5/10 10:04:47
100:如何实现带电拔出或插入模板,即热插拔功能?19楼 回复本楼
硬件要求:
使用普通的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总线上。
引用 legalism 2006/5/10 10:04:47 发表于19楼的内容