西门子 S7-300 PLC 从入门到精通的100个问答 点击:3885 | 回复:115



angelwin

    
  • 精华:1帖
  • 求助:0帖
  • 帖子:16帖 | 568回
  • 年度积分:0
  • 历史总积分:420
  • 注册:2013年3月10日
发表于:2013-03-30 22:38:19
楼主

1:使用CPU 315F和ET 200S时应如何避免出现“通讯故障”消息?

使用CPU S7 315F, ET 200S以及故障安全DI/DO模块,那么您将调用OB35 的故障安全程序。而且,您已经接受所有监控时间的默认设置值,并且愿意接收“通讯故障”消息。 OB 35 默认设置为100毫秒。您已经将F I/O模块的F监控时间设定为100毫秒,因此至少每100毫秒要寻址一次I/O模块。但是由于每100毫秒才调用一次OB 35,因此会发生通讯故障。要确保OB35的扫描间隔和F监控时间有所差别,请确保F监控时间大于OB35的扫描间隔时间。

S7分布式安全系统,一直到V5.2 SP1 和 6ES7138-4FA00-0AB0,6 ES7138-4FB00-0AB0,6ES7138-4CF00-0AB0 都会出现这个问题。在新的模块中,F 监控时间设定为150毫秒.




angelwin

  • 精华:1帖
  • 求助:0帖
  • 帖子:16帖 | 568回
  • 年度积分:0
  • 历史总积分:420
  • 注册:2013年3月10日
发表于:2013-03-30 23:23:24
81楼

82:CP342-5能否用于PROFIBUS FMS协议通讯?

  CP342-5支持PROFIBUS DP协议,不能用于PROFIBUS FMS协议通讯,同样CP343-5只支持PROFIBUS FMS协议,不能用于PROFIBUS DP协议通讯,而CP342-5和CP343-5都支持PROFIBUSFDL的链接方式;

angelwin

  • 精华:1帖
  • 求助:0帖
  • 帖子:16帖 | 568回
  • 年度积分:0
  • 历史总积分:420
  • 注册:2013年3月10日
发表于:2013-03-30 23:23:46
82楼

83:为什么CP342-5 FO无法建立通讯?如何配置?

   CP342-5 FO不支持3MB,6MB的通讯速率,如果您购买的是5.1版本的CP342-5,而STEP7中没有V5.1版的CP342-5时,则可以插入一个V5.0版的CP342-5模块,功能不受影响。CP342-5在S7-300系统中的安装位置与普通的S7-300 I/O模块一样,可以插在4至11这8个槽位中的任何一个。

angelwin

  • 精华:1帖
  • 求助:0帖
  • 帖子:16帖 | 568回
  • 年度积分:0
  • 历史总积分:420
  • 注册:2013年3月10日
发表于:2013-03-30 23:24:03
83楼

84:CP342-5的3中工作方式有什么区别?

NoDP方式下:可以用CP342-5通讯口进行S7编程或进行PROFIBUS的FDL连接,连接人机界面;

   DP Master方式下:CP342-5除了作为网络中的PROFIBUS主站之外,也可用于S7编程、FDL连接和连接人机界面。DP delay time参数一般不需设定,除非您采用FDL连接时,要与DP的I、O点刷新时间相一致,才根据PROFIBUS网络性能进行调整;

   DP Slave方式下:CP342-5除了作为网络中的从站之外,如果选择了The module is anactive node on the PROFIBUS subnet选择框,那么CP 342-5也可用于S7编程、FDL连接和连接人机界面,否则CP342-5只能作为从站使用;

angelwin

  • 精华:1帖
  • 求助:0帖
  • 帖子:16帖 | 568回
  • 年度积分:0
  • 历史总积分:420
  • 注册:2013年3月10日
发表于:2013-03-30 23:24:21
84楼

85:CP342-5 最多能完成多少数据交换?

   一套S7-300系统中最多可以同时使用4块CP342-5模块,每块CP342-5能够支持16个S7 Connection,16个S5-Compatible Connection。当CP342-5处在No DP模式下工作时,最多同时支持32个通讯链接,而处在DP Slave或DP Master模式下时,最多同时支持28个通讯链接。CP342-5 作为PROFIBUSDP主站时,最多链接 124个从站,和每个从站最多可以交换244个输入字节(Input)和244个输出字节(Output),与所有从站总共最多交换2160个输入字节和2160个输出字节。CP342-5作为从站时,与主站最多能够交换240个输入字节和240个输出字节。CP342-5 可以最多连接16个操作面板(OP)以及最多创建16个S7Connnection。

angelwin

  • 精华:1帖
  • 求助:0帖
  • 帖子:16帖 | 568回
  • 年度积分:0
  • 历史总积分:420
  • 注册:2013年3月10日
发表于:2013-03-30 23:24:42
85楼

86:如何实现在从站断电、通讯失败或从站通讯口损坏等现象出现时,主站能够不停机?

   需要在您的STEP7项目中插入相应组织块。插入这些组织块时,不需要编程内容,当从站断电、通讯失败等现象出现时,主站只报总线故障,但不停机。这样,无论从站先上电,还是主站先上电,系统都能正常运行:

  在S7-300中加入OB82、OB86、OB122; 在S7-400中加入OB82~OB87、OB122;

angelwin

  • 精华:1帖
  • 求助:0帖
  • 帖子:16帖 | 568回
  • 年度积分:0
  • 历史总积分:420
  • 注册:2013年3月10日
发表于:2013-03-30 23:25:23
86楼

87:CP342-5连接上位机软件或操作面板时应该选择什么工作模式?

   如果您只是用CP342-5连接上位机软件或操作面板(OP),这时通讯采用的是S7协议,那么建议您选择No DP模式,并且不需要调用FC1(DP_SEND)和FC2(DP_RECV)功能块,它们只是在PROFIBUS DP通讯时才使用;

angelwin

  • 精华:1帖
  • 求助:0帖
  • 帖子:16帖 | 568回
  • 年度积分:0
  • 历史总积分:420
  • 注册:2013年3月10日
发表于:2013-03-30 23:25:51
87楼

88:为什么系统上电后,即使CP342-5开关已经拨至Run,但始终处于STOP状态?

   应当检查STEP7程序和组态是否正确(删除程序,只下载硬件组态)、检查CP342-5连接的24V电源线是否正常、M端是否与CPU的M端短接、通讯电缆连接是否正确(确认通讯电缆未内部短路),CP的firmware是否正确。如果您确认可以排除以上原因,那么可能您的CP342-5已经损坏,请更换;

angelwin

  • 精华:1帖
  • 求助:0帖
  • 帖子:16帖 | 568回
  • 年度积分:0
  • 历史总积分:420
  • 注册:2013年3月10日
发表于:2013-03-30 23:26:15
88楼

89:如何用CP342-5组态PROFIBUS从站?

   1.在STEP7中生成一个新的项目,并插入一个S7-300站。

   2.在硬件组态窗口中选择一个S7300的导轨以及相应的CPU。

   3.硬件组态窗口中,在路径 "SIMATIC 300 > CP 300> PROFIBUS > CP342-5" 选中于您订货号和版本号对应的CP342-5,插入到S7300站对应的槽位中,注意如果您购买的是Version5.1,而组态中只能够找到Version5.0,您可以选用Version5.1替代Version5.0.。

   4.在插入CP342-5的过程中,会弹出一个PROFIBUS属性窗口,请点击”New…”按钮,创建一个PROFIBUS网络PROFIBUS(1) ,并设定CP342-5作为从站的站地址为3。

   5.双击CP342-5,打开CP342-5的属性窗口,在"Operating Mode" 标签页下选择"DPSlave" 选项,此时会弹出一个警示窗口,告知您如果要用CP342-5实现CPU和 PROFIBUS从站的通讯,必须调用FC1(DP_SEND)和FC2(DP_RECV)功能块,实现CPU与CP342-5之间的数据交换,而CP342-5与PROFIBUS的数据交换是自动完成的,不用编程。FC3和FC4用于诊断和通讯功能的控制,一般不用调用。

   6.点击OK ,存盘编译。

angelwin

  • 精华:1帖
  • 求助:0帖
  • 帖子:16帖 | 568回
  • 年度积分:0
  • 历史总积分:420
  • 注册:2013年3月10日
发表于:2013-03-30 23:26:34
89楼

90:如何用CP342-5组态PROFIBUS主站?

   1.在STEP7的SIMATICManager窗口中在插入一个S7300站;

   2.重复以上组态从站步骤的2-4步,注意插入CP342-5时,不能点击”new…”按钮,而直接用鼠标选中以上创建的PROFIBUS(1)网络,点击OK;

  在"Operating Mode"标签页中选择"DPMaster"选项;

angelwin

  • 精华:1帖
  • 求助:0帖
  • 帖子:16帖 | 568回
  • 年度积分:0
  • 历史总积分:420
  • 注册:2013年3月10日
发表于:2013-03-30 23:26:51
90楼

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之间的数据交换。

angelwin

  • 精华:1帖
  • 求助:0帖
  • 帖子:16帖 | 568回
  • 年度积分:0
  • 历史总积分:420
  • 注册:2013年3月10日
发表于:2013-03-30 23:27:11
91楼

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之间的数据交换成功进行。

angelwin

  • 精华:1帖
  • 求助:0帖
  • 帖子:16帖 | 568回
  • 年度积分:0
  • 历史总积分:420
  • 注册:2013年3月10日
发表于:2013-03-30 23:27:28
92楼

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这个内部的存储器。

angelwin

  • 精华:1帖
  • 求助:0帖
  • 帖子:16帖 | 568回
  • 年度积分:0
  • 历史总积分:420
  • 注册:2013年3月10日
发表于:2013-03-30 23:27:53
93楼

94:通过CP342-5,如何实现对PROFIBUS网络和站点的诊断功能?

   用功能块"DP_DIAG" (FC 3) 可以在程序中对cp模块进行诊断和分析,可以通过job类型如DP 诊断列表,诊断单个dp状态,读取dp从站数据,读取cp或cpu的操作模式,读取从站状态等等。

angelwin

  • 精华:1帖
  • 求助:0帖
  • 帖子:16帖 | 568回
  • 年度积分:0
  • 历史总积分:420
  • 注册:2013年3月10日
发表于:2013-03-30 23:28:11
94楼

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 > "Installnew GSD file")。在更新了硬件目录后您会在"PROFIBUS-DP >Additional Field Devices".中发现DP从站。

angelwin

  • 精华:1帖
  • 求助:0帖
  • 帖子:16帖 | 568回
  • 年度积分:0
  • 历史总积分:420
  • 注册:2013年3月10日
发表于:2013-03-30 23:28:32
95楼

96:在STEP7中打开一些对象时出错是什么原因?

   有的时候您在打开某些项目中的对象时,STEP7会弹出报错窗口,错误信息为 ’*.dll’文件无法被装载,代码是257:5,

  错误信息是一个或多个对象不能被显示,出现这种错误的原因是您没有安装与要打开对象相关的软件包。

angelwin

  • 精华:1帖
  • 求助:0帖
  • 帖子:16帖 | 568回
  • 年度积分:0
  • 历史总积分:420
  • 注册:2013年3月10日
发表于:2013-03-30 23:28:50
96楼

97:如果想通过上位或触摸屏对PLC中S5TIME类型的参数进行设定,有什么方法?

1、 从上位机写整型数INT或实数REAL到PLC,首先该数值需包含以毫秒为单位的时间值,在写入PLC的数据存储区后,利用ITD(Integerto Double Integer)或RND(Real toDouble 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即可。

angelwin

  • 精华:1帖
  • 求助:0帖
  • 帖子:16帖 | 568回
  • 年度积分:0
  • 历史总积分:420
  • 注册:2013年3月10日
发表于:2013-03-30 23:29:07
97楼

98:STEP 7中相关时间处理和转换的功能块有哪些?

   SFC 0 "SET_CLK" 设置CPU时钟

   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的转换

angelwin

  • 精华:1帖
  • 求助:0帖
  • 帖子:16帖 | 568回
  • 年度积分:0
  • 历史总积分:420
  • 注册:2013年3月10日
发表于:2013-03-30 23:29:40
98楼

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的硬件组态窗口的PROFIBUSDP目录中选择相应IM153模块,可以看出该模块支持“moduleexchange 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总线上。

angelwin

  • 精华:1帖
  • 求助:0帖
  • 帖子:16帖 | 568回
  • 年度积分:0
  • 历史总积分:420
  • 注册:2013年3月10日
发表于:2013-03-30 23:29:59
99楼

100:我如何做到对自己的程序块进行加密保护?

您能够通过STEP7软件的KNOW_HOW_PROTECT功能实现对您程序代码的加密保护。

如果您双击鼠标打开经过加密的程序块时,您只能看到该程序块的接口数据(即IN, OUT 和 IN/OUT 等类型的参数)和注释信息,而程序块中的代码及代码的注释,临时/静态变量是不能被看到的。同时您也无法对加密保护的程序块做出任何改动。

如何实现程序块保护:

1. 打开程序编辑窗口LAD/FBD/STL;

2. 将要进行加密保护的程序块生成转换为源代码文件(通过选择菜单 File— ;Generate source 生成);

3. 在LAD/FBD/STL 窗口中关闭您的程序块,并在SIMATIC 

Manager项目管理窗口的source文件夹中打开上一步所生成的source文件;

4. 在程序块的声明部分,TITLE行下面的一行中输入”KNOW_HOW_PROTECT”;

5. 存盘并编译该source文件(选择菜单FileàSave,FileàCompile);

6. 现在就完成了您程序块的加密保护;

angelwin

  • 精华:1帖
  • 求助:0帖
  • 帖子:16帖 | 568回
  • 年度积分:0
  • 历史总积分:420
  • 注册:2013年3月10日
发表于:2013-03-30 23:30:27
100楼

101:我如何做到对自己的程序块进行<此处内容被屏蔽>?

取消对程序块的加密保护

1. 打开程序块的Source源文件;

2. 删除文件中的KNOW_HOW_PROTECT;

3. 存盘并编译该source文件;

现在程序块的加密保护已经取消。

注意: 如果没有 STLsource 源文件,您是无法对已经加密的程序块进行编辑的.

热门招聘
相关主题

官方公众号

智造工程师