西门子 S7-300 PLC 从入门到精通的100个问答 点击:3894 | 回复: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:16:43
61楼

62: FM350-1的锁存功能是否能产生过程中断? 

FM350-1的锁存功能是不能产生过程中断,但是可以产生过零中断。

FM350-1的装载值必须为零,随者锁存功能的执行(DI的上升沿开始),当前的计数值被储存到另一地址然后置为初始值零,产生过零中断,在OB40中可以读出中断并相应的值。锁存值也可以从FM350-1的硬件组态地址的前4个字节中读出。

angelwin

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

63: 在FM350-1中,怎样触发一个比较器输出? 

   FM350-1中自带的输出点具有快速性、实时性,不必要经过CPU的映像区处理。输出点一般对应于比较器,首先在硬件组态中定义比较器输出类型,如:输出值为1或为脉冲输出,然后在程序中设置比较值。在FM350-1中,地址在通讯DB(UDT生成)块中为18(比较值1)、22(比较值2),类型为DINT,然后激活输出点28.0(DQ0)、28.1(DQ1),这样比较器就可以工作了。

angelwin

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

64:在FM350-2中,工作号的作用是什么? 

工作号是S7-300CPU与FM进行通讯的任务号,每次的交换数据只是部分数据交换,而非全部数据,这样可以减少FM的工作负载,工作号又分写工作号和读工作号,例如在FM350-2中指定DB1为通讯数据块,如果把写工作号12写入到DB1.DBB0中,把200写入到DB1.DBD52中,再调用FC3写功能,这样第一个计数器的初始值为200,这里工作号10的任务号是写第一个计数器的初始值,DB1.DBB0为写工作号存入地址,DB1.DBD52为第一个计数器装载地址区,同样读工作号100为读前4路,101为读后4路计数器,读工作号存入地址为DB1.DBB2。但写任务不能循环写,只能分时写入。

angelwin

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

65:如果对于4-20 mA模拟量输入模块来说,小于4 mA后转换的数字量是多少? 

  如果小于4ma,那么将会是输出负值,例如 -1对应的是3.9995mA,而1.185mA 时,这个数值是-4864 (10进制)但是如果小于1.185mA,如果禁止断线检测,这个值是8000(16进制)如果有断线检测,会变成7FFF(16进制)。

angelwin

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

66:怎样对模拟量进行标准化和非标准化?

  可以使用以下功能块:

   1.在块FC164中,x和y都是整数。

   2. FC165中x是整数,y是实数。

   3. FC166中x是实数,y是整数。

   4. FC167中x和y都是实数。

angelwin

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

67:S7系列PLC之间最经济的通讯方式是什么?

MPI通讯是S7系列PLC之间一种最经济、数据量最小的一种通讯,需要做连接配置的站通过GD通讯,GD通讯适合于S7-300之间,S7-300、S7-400、MPI之间一些固定数据的通讯。不用作连接的MPI通讯适用于S7-300之间、S7-300与400之间、S7-300/400与S7-200 系列PLC之间的通讯,建议在OB35(循环中断100ms)中调用发送块,在OB1(主循环组织块)调用接收块。

angelwin

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

68:整个系统掉电后,为什么CPU在电源恢复后仍保持在停止状态?

  整个系统由一个DP主站S7-300/400以及从站组成。而从站通过一个主开关被切断了电源。由于内部的CPU电压缓冲器,CPU 仍继续运行大约50ms到100ms。此阶段里 CPU 识别出所连接的从站的故障。如果没有编程OB86和OB122的话,CPU 就会因为这些有故障的从站而继续保留在停止状态。

angelwin

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

69:在点到点通信中,协议 3964(R)和RK 512 之间的区别是什么?

   这两个协议的主要区别在于消息报头和响应消息的不同。使用RK 512,提供有最高的数据完整性,程序 3964(R) 当传送信息数据时,程序 3964(R)将控制字符(安全层)添加到信息数据上。这些控制字符激活通信伙伴,检查数据是否全部接收,是否无错误。

angelwin

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

70:当一个DP从站出故障,如何在输入的过程映像被清成“0”以前保存它们?

   当一个DP从站出故障时,OB86(通过S7-300/400)被调用。可用下列方法“保存”输入的过程映像:

1. 把从站的所有输入循环地复制到一个独立的区里。

2.如果从站出问题,则 OB86 被启动。在此 OB 里你可设一个标志位来可防止进一步的循环复制操作。

3. 当从站返回总线后,你把 OB86 里的标志位复位。

angelwin

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

71:对模拟量模块而言,如何处理未使用的通道?

如果模块带有MANA : 短接所有的未使用通道的M-到 MANA ,如果可能,连接MANA 到接地极,把模块的测量模式设置为: 0 - 20/ + -20mA. ,短接未使用的COMP+/COMP-. IC+ /IC-可以保持悬空。

如果模块不带有 MANA : 把所有未使用的通道M-连接到使用通道的M-.等在输入端UCM > 2.5V 时,连接所有未使用的 M-到cpu的接地或系统的接地. 把模块的测量模式设置为: 0 - 20/ + -20mA. ,短接未使用的COMP+/COMP-. IC+ /IC-可以保持悬空。

对于SM 331-7NF10-0AB0模块在4通道模式:禁止未用的通道,这些输入端悬空即可

对于Ex模块SM331-7RD:未使用的通道可以保持悬空72:上位机与plc进行通讯,硬件都需要哪些?

angelwin

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

72:哪些软件里含有CP5511,CP5512,CP5611,RS232PC-Adapter 的驱动?

  如果安装了相应的软件后包含“Set PG/PC Interface …”组件,那么这些软件都含有CP5511,CP5512,CP5611,RS232PC-Adapter 的驱动,只需在“Set PG/PC Interface …”->“Select…”->选择相应的驱动,然后“Install-->”即可。

  具体的软件有Step7,Step7 MicroWin,Simatic Net,WinCC,Protool,Flexible,PCS7。

angelwin

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

73:当试图通过TeleService建立PRODAVE MPI和样列程序之间的通讯时,为什么会出现出错消息4501?

   调制解调器没有响应,并产生了出错消息4501。在这个情况下,工作站的规范不正确。在TeleService对话框中检查工作站的名称和工作站(standort)规范。此处可能有个不正确的缺省设删除“station”(“standort”)域中的缺省名,或输入正确的工作站名。那么就可以使用调制解调器在PRODAVE MPIY和TeleService之间建立连接。

angelwin

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

74:是否可以将数据块的当前值作为初始值从AS传送到项目中? 

可以。从AS中“ONLINE,打开相关数据块(DB).使用软盘图标“OFFLINE”保存DB. 

  通过“File > Generate Source”在DB中产生STL源代码. 通过手动操作将BEGIN和END_DATA_BLOCK行之间的当前值与相应的声明(初始值)逐行 连接起来,从而得到下列声明语句:

   STRUCT 

   wordVar : WORD := W#16#ABCD;

   ... 

   END_STRUCT ;

   编译STL源代码。

angelwin

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

75:在通讯任务中,在哪些OB中必须调用SFB?

   在启动型OB(如用于S7-300的OB100和用于S7-400的OB100和OB101)和循环模式OB(OB1)中,必须调用数据通讯或程序管理(把PLC切换到STOP或RUN)所需的所有SFB。 OB100是启动型OB,并在重新启动CPU时运行。例如,在该OB中,用标记M1.0和M0.1来释放第一个通讯触发器。

angelwin

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

76:怎样编程间接访问一个ARRAY类型变量的元素?

   一个位、字节或者字符域的尺寸是按照字节限制排列的——在所有其它情况下是按照字对齐的。表T6-1中给出了一个域的存储示例。操作系统计算域中单个元素末端位置的位地址。域被分配到从下一个字地址(或字节地址)。下一个数据类型从下一个整字开始(或者整字节). 

  声明部分:

  在声明部分,必须定义一个与将被间接寻址的ARRAY有着同一结构的ARRAY。不一定非要将ARRAY声明为IN-OUT变量;也可以声明为TEMP、IN或OUT变量。

  网络:

  域宽度(OFFSET)在网络中定义。ARRAY中的单个元素的最小常规数据宽度是一个字节;即使在两个变量之间定义一个BOOL。有必要确定相关的域的宽度和确定下一个期望域的起始地址。可使用下面的算法: 地址(指数):b = 元素长度*(指数 - 1) 

  创建具有不同数据类型的结构时,必须注意,在特定的环境下可能会自动插入填充字节。

  保存ARRAY数据类型

  示例:ARRAY <此处内容被屏蔽>1..2,1..3<此处内容被屏蔽> OF整数 将生成下列域:

  多维域是按照顺序保存的。在本例中整数 <此处内容被屏蔽>1,1<此处内容被屏蔽>后面是整数<此处内容被屏蔽>1,2<此处内容被屏蔽>,整数 <此处内容被屏蔽>1,3<此处内容被屏蔽>后面是整数 <此处内容被屏蔽>2,1<此处内容被屏蔽>。

angelwin

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

77:STEP 7 以哪种格式存储POINTER参数类型?

   STEP 7以 6 个字节保存POINTER参数。显示了用于保存POINTER参数类型的内存区域以及每个字节中保存的数据。POINTER参数类型保存了下列信息: DB号(如果DB中没有保存任何数据时为0)。 CPU中的内存区域(表格中列出了不同内存区域的十六进制代码)。

  数据的地址(按照Byte.Bit格式)。

  如果将形式参数声明为POINTER参数类型,则只需要指定内存区域和地址。STEP 7自动将输入项目的格式转换为指针格式。

angelwin

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

78:因为总是要首次调用Alarm8P(SFB35)块,怎样避免OB 1初始化过程花费太长时间? 

   激活(首次调用)报警块Alarm(SFB33)、A larm_8(SFB34)和Alarm_8P(SFB35)比简单地执行作业检查需要多花费 2 到 3 倍的运行时间。当传送告警时,块的运行时间也会同样长。 然而警报通常不会成群发生,当编程时,需要注意警报块的首次调用,因为此处用到的所有块需要很长的运行时间,因此被调用OB的运行时间在某些情况下将显著增加。将警报块的首次调用移动到OB100/101/102,可以将较长的运行时间转换到启动过程。此处处理时间也会较长,但是由于与模块的参数设置同时进行,启动时间不会太长。

angelwin

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

79:当不能卸载STEP 7时,该怎么办?

   设法通过控制面板卸载STEP 7。如果安装文件已损坏,卸载程序常会出错,并伴随出错信息。另外STEP 7 CD包含文件Simatic STEP7.msi。可以通过这个文件卸载STEP 7。

angelwin

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

80:加密的300PLC MMC处理方法?

   如果您忘记了您在S7-300CPU Protection属性中所设定的密码,那么您只能够采用siemens的编程器PG(6ES7798-0BA00-0XA0)上的读卡槽或采用带USB接口的读卡器(USB delete?S7 Memory Card?prommer6ES7792-0AA00-0XA0),选择SIMATIC Manager界面下的菜单 File 选项删除MMC卡上原有的内容,这样MMC就可以作为一个未加密的空卡使用了,但无法对MMC卡进行jie密,读取MMC卡中的程序或数据。

angelwin

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

81: 以314C为例计数时如何清计数器值?

   有两种方法:

   1:在参数设置中“Gate function”选“Cancel count”软件门为0,在为1时,值将清零,

   2:利用写“Job”的方式,写计数值的任务号为1。

热门招聘
相关主题

官方公众号

智造工程师