首页 上一页 1 2 3 下一页 尾页

S7-300的n个常见问题解答之七 点击:8745 | 回复:41



如火

    
  • 精华:172帖
  • 求助:0帖
  • 帖子:803帖 | 5249回
  • 年度积分:0
  • 历史总积分:0
  • 注册:1900年1月01日
发表于:2005-11-29 15:41:00
楼主
121:如何判断电源出错,如:电池故障? 
    如果电源(仅S7-400)或缓冲区中的一个错误触发一个事件,则CPU操作系统访问OB81。
错误纠正后,重新访问OB81。电池故障情况下,如果电池检测中的BATT.INDIC开关是激活的,则 S7-400仅访问OB81。如果没有组态OB81,则CPU不会进入操作状态STOP。如果OB81不可用,则当电源出错时,CPU仍保持运行。 

122:如何诊断模拟量模板?
    CPU 可以中断用户程序的执行处理诊断报警块OB 82。
    在用户程序中你可以调用OB 82 中的SFC 51 或SFC 59 以从模板中获得更为详细
的诊断信息。
    诊断信息在OB 82 退出之前都是一致的当OB 82 退出时将对模板作出诊断中断响
应。

123:对于小功率输入的触发器,如何避免线路损坏? 
     将触发器连接到SM322-8BF,如果它的1信号功率输入低于10mA(例如1mA),则可能会报告线路损坏 。 不建议禁用“Wire breakage”诊断,因为这将禁用所有的诊断,并且当SM322-8BF在一定电流范围(0.5到10mA)内工作时,可能无法安全地开关。 
补救措施:接一个与触发器平行的电阻,这样至少有10mA(24V ca. 2.4 kOhm)的电流。该电阻应该直接安放在触发器上,从而可以方便检测线路损坏。 

124:如何为S7 318-2 CPU进行操作系统更新?
创建一个操作系统更新卡所必需的条件: 
    1.    S7存储卡的类型:2 MB的闪存,订货号6ES7 953-8LM00-0AA0、6ES7 951-1KL00-0AA0 
    2.    STEP 7 V3.1或更新版本 
    3.    具有外部PROM编程器的PC或者编程设备(PG),用于编程存储卡
使用STEP7创建操作系统更新卡的步骤: 
    1.    下载所需的CPU文件; 
    2.    双击文件名将文件解压缩; 
    3.    在Simatic Manager中执行“File/S7 Memory Card/Delete”,删除微存储卡内容; 
    4.    在Simatic Manager中选择“PLC/Update CPU Operating System”对操作系统进行编程。选择目标目录并“打开”CPU_HD.UPD文件,开始编程过程; 
    5.    当标准鼠标指针重新出现时,即完成对操作系统更新卡的编程。
执行操作系统更新: 
    1.    切断CPU所处机架的电源(PS); 
    2.    在CPU中插入准备好的操作系统更新卡; 
    3.    接通CPU所处机架的电源(PS);  
    4.    操作系统从微存储卡传送到内部CPU闪存EPROM。此时,将点亮CPU的所有LED(INTF、EXTFFRCE、< span lang="EN-GB">CRST、RUN、< span lang="EN-GB">STOP); 
    5.    大约2分钟后完成操作系统更新,此时STOP LED将慢速闪动=>请求系统存储器复位; 
    6.    切断电源,插入操作所需的微存储卡; 
    7.    接通电源,CPU执行一次自动存储器复位,之后立即进入准备就绪状态。.
 注意:为执行更新,必 须从模块中拆除电池.


125:模拟量模板的信号转换时间如何计算?
    转换时间由基本转换时间和模板的以下其它处理时间组成
     1)电阻测试    2)断线监控
    基本转换时间直接取决于模板量输入模板的转换方法积分方法瞬时值转换
    对于积分转换方法积分时间将直接影响转换时间积分时间取决于你使用STEP 7 所设置的干扰频率抑制。

126:是否可能在两个DP从站之间运行一个DP网络? 
    不能。不可能建立从站-从站通信。总是需要一个主站来操作DP网络。智能从站可以访问其它从站的初始值(直接数据通信),但是总是需要DP主站来控制DP网络。 智能从站也可以不使用DP网络而独自工作(单机工作),但是它们不能作为DP主站来提供服务。仅可以与模块接口共同工作。 

127:对于有些模拟量输入模板你可以使用STEP 7 设定模拟值的平滑指数,它能起到什么作用?
    使用平滑指数:模拟值的平滑指数可以保证进一步处理的稳定模拟信号;这对于模拟值与被测值之间的缓慢变化相适应非常重要,例如温度测量时。
    平滑原理:被测值可以通过数字滤波进行平滑平滑可以通过模板根据转换数字化模拟值的规定数量计算平均值来实现;用户可以在最多四个等级赋值平滑参数无低平均高这四个等级决定了用于平均计算的模拟信号数量;所选平滑等级越高所平滑的模拟值将越稳定时间越长直到在一个阶跃响应后适用所平滑的模拟信号。

128:模拟信号电缆应该单端接地还是2端接地?
    为了减少电子干扰对于模拟信号应使用双绞屏蔽电缆模拟信号电缆的屏蔽层应该两
端接地。
    但是如果电缆两端存在电位差将会在屏蔽层中产生等电线连接电流造成对模拟信号的干
扰在这种情况下你应该让电缆的屏蔽层一点接地。

129:模拟量信号为:7FFFH,是什么原因?
    每个模拟量输入模板都可提供被测值7FFFH 与发现故障时的参数赋值无关,该被测值
可以是上溢故障或通道无使能

130:防止静电放电危险一般有哪些措施?
    保证良好的接地:在处置对静电敏感的设备时应确保人体工作表面和包装有良好的接地这样可以避免充上静电。
    避免直接接触:只在不可避免的情况下才接触对静电敏感的设备例如在维修时手持模板但不要接触元件的针脚或印刷板的导体用这种方法使放电能量不会影响对静电敏感的设备
    如果必须在模板上进行测量在开始测量之前必须先接触接地的金属部分使人体放电这种方法只适用于接地的测量设



WSR

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 81回
  • 年度积分:3
  • 历史总积分:136
  • 注册:2002年12月03日
发表于:2005-11-29 16:31:00
1楼
很好的帮助资料,有没有120以前的谢谢。

如火

  • 精华:172帖
  • 求助:0帖
  • 帖子:803帖 | 5249回
  • 年度积分:0
  • 历史总积分:0
  • 注册:1900年1月01日
发表于:2005-11-29 16:37:00
2楼
请点击链接:
http://bbs.gongkong.com/detail.asp?id=302649

电笔

  • 精华:0帖
  • 求助:0帖
  • 帖子:10帖 | 645回
  • 年度积分:0
  • 历史总积分:785
  • 注册:2005年4月02日
发表于:2005-11-29 19:22:00
3楼
激情如火!!火!!!!!!!!!!!
谢谢。(请大家复制)

举一反三

  • 精华:0帖
  • 求助:0帖
  • 帖子:15帖 | 201回
  • 年度积分:0
  • 历史总积分:501
  • 注册:2005年1月11日
发表于:2005-11-30 09:19:00
4楼
好东西!真是非常感谢激情如火,让大家共享这么好的资料。

岁月似梦

  • 精华:0帖
  • 求助:0帖
  • 帖子:4帖 | 204回
  • 年度积分:0
  • 历史总积分:259
  • 注册:2005年10月26日
发表于:2005-11-30 09:57:00
5楼
 激情如火!!火!!!!!!!!!!!
谢谢。(请大家复制)

FUSTEHGM

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 81回
  • 年度积分:0
  • 历史总积分:136
  • 注册:2005年10月29日
发表于:2005-11-30 14:49:00
6楼
ok

PANG

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 22回
  • 年度积分:0
  • 历史总积分:94
  • 注册:2005年2月18日
发表于:2005-12-01 12:34:00
7楼
感谢如火先生!您对西门子产品技术的普及与应用作出的贡献!还有S7-400 常用问题的解答吗?可以让大家共享吗!谢谢!

江湖走走

  • [版主]
  • 精华:30帖
  • 求助:7帖
  • 帖子:836帖 | 7833回
  • 年度积分:193
  • 历史总积分:46108
  • 注册:2001年2月15日
发表于:2005-12-01 15:35:00
8楼
谢谢了

时空之门

  • 精华:0帖
  • 求助:0帖
  • 帖子:4帖 | 118回
  • 年度积分:0
  • 历史总积分:418
  • 注册:2004年9月21日
发表于:2005-12-01 20:50:00
9楼
谢谢激情如火先生,不胜感激!

一灵

  • 精华:1帖
  • 求助:0帖
  • 帖子:29帖 | 310回
  • 年度积分:0
  • 历史总积分:410
  • 注册:2004年10月22日
发表于:2005-12-01 23:03:00
10楼
谢谢了!

zjnb

  • 精华:1帖
  • 求助:0帖
  • 帖子:32帖 | 535回
  • 年度积分:0
  • 历史总积分:775
  • 注册:2005年9月14日
发表于:2005-12-04 10:02:00
11楼
谢谢激情如火先生!!!!!!

共享学习

  • 精华:0帖
  • 求助:0帖
  • 帖子:5帖 | 15回
  • 年度积分:0
  • 历史总积分:70
  • 注册:2004年3月25日
发表于:2005-12-05 23:15:00
12楼
所有的工控高手,前辈要是都有激情如火老师的胸禁那么宽广,把自己所知所会奉献出来,何中国愁工控业不兴旺发达.在此深深地感谢激情如火老师

小龙俺

  • 精华:0帖
  • 求助:0帖
  • 帖子:36帖 | 228回
  • 年度积分:0
  • 历史总积分:339
  • 注册:2005年6月16日
发表于:2005-12-12 08:22:00
13楼
激情似火老师,能不能补充下关于块PID调节的一些参数和实际应用。特别是PID各个P、I、D的作用和功能。学生在此有理了!!!!!!

小龙俺

  • 精华:0帖
  • 求助:0帖
  • 帖子:36帖 | 228回
  • 年度积分:0
  • 历史总积分:339
  • 注册:2005年6月16日
发表于:2005-12-12 08:22:00
14楼
激情似火老师,能不能补充下关于块PID调节的一些参数和实际应用。特别是PID各个P、I、D的作用和功能。学生在此有理了!!!!!!

如火

  • 精华:172帖
  • 求助:0帖
  • 帖子:803帖 | 5249回
  • 年度积分:0
  • 历史总积分:0
  • 注册:1900年1月01日
发表于:2005-12-12 14:15:00
15楼
131:S7-300/400 PLC支持哪些寻址方式? 1)直接寻址 1.直接地址:例如I0.0,Q1.7,PIW256,PQW512,MD20,T15,C16,DB1.DBB10,L10.0等 2.符号寻址:例如qq,ww.aa等 2)间接寻址 1.存储器间接寻址:16位指针,例如OPN DB[MW2] 32位指针,例如A I[MD0] 2.寄存器间接寻址:32位指针,例如A I[AR1,P#0.0],A [AR1,P#0.0] 3)S7-300/400寻址方式图解
132:如何使用指针? 指针用来指向一个地址。使用这种寻址方式的优点在于可以在程序运行过程中实现变址。 指针用于存储器间接寻址 程序中用于存储器间接寻址的语句包含一个指令、一个地址标识符、以及一个偏移量(偏移量必须在方括号内给出)。 下面给出一个双字格式的指针的例子: L P#8.7 把指针值装载到累加器1 T I[MD2] 把指针值传送到MD2 A I[MD2] 查询I8.7的信号状态 = Q[MD2] 给输出位Q8.7赋值 存储区域内部寻址及交叉寻址 :程序中采用这些寻址方式的语句包含一个指令以及下列内容:地址标识符、地址寄存器标识符、偏移量。地址 寄存器(AR1、AR2)及偏移量必须写在方括号内。 存储区域内部寻址例程 :指针不包含指示存储区域的信息: L P#8.7 把指针值装载到累加器1 LAR1 把指针从累加器1装载到AR1 A I[AR1,P#0.0] 查询I8.7的信号状态 = Q[AR1,P#1.1] 给输出位Q10.0赋值 偏移量0.0不起作用。输出Q10.0 等于8.7 (AR1) 加偏移量1.1。结果是10.0 ,而不是9.8。 存储区域交叉寻址例程 :在存储区域交叉寻址中,指针中包含指示存储区域的信息(例子中为 I 和 Q)。 L P#I8.7 把指针值及存储区域标识装载到累加器1 LAR1 把存储区域I 和地址8.7装载到AR1 L P#Q8.7 把指针值和地址标识符装载到累加器1 LAR2 把存储区域Q和地址8.7装载到AR2 A [AR1,P#0.0] 查询输入位I8.7的信号状态 = [AR2,P#1.1] 给输出位Q10.0赋值 偏移量0.0不起作用。输出Q10.0 等于8.7 (AR2) 加偏移量1.1。结果是10.0 ,而不是9.8, 133.如何用一个变量作索引实现在一个域中读一个元素或写一个元素? 一个域(数据类型为ARRAY)是几个相同数据元素的连接。在源代码中一个单空间域的声明执行如下: My_Array: ARRAY[4..11] OF INT; 它标识了一个数据类型为“INTEGER”的8(=11-4+1)元素单空间域。 为了访问域中的一个元素,输入域名并在方括号中输入希望访问的元素的号码,比如:My_Array[6]。 在S7-SCL (结构化控制语言 - 符合IEC 1131-3 的结构化文本)可以使用变量做索引: i:INT:=46 My_Array[i]:=0 在FBD/LAD/STL中,索引必须是个常量,因此限制了可使用的域的范围。 134:怎样访问复合数据类型数组单元的变量? 复合数据类型数组单元中的变量只有通过单独的函数才能访问。作为传送参数这个函数拥有期望的数组数量并以数组[0]作为起始地址。对此函数的要求是数组置于一个数据块中并且数组[0]不被当前数据使用。这就决定了从参数传送来的地址并将指定的数组拷贝到作为处理区的数组[0]。接下来可对数组进行符号处理。然后它被拷贝回原始的数组号。 首先用这些参数定义并计算数组[0]的地址和要处理的数组数量。将这些值保存在函数的临时变量内。 L P##Field_Start // 输入地址域[0] LAR1 L D [AR1,P#0.0] // 把这些地址保存在类型为ANY的临时变量中 T LD 0 // temp 'firststruc' = LD 0-9 T LD 10 // temp 'sourcestruc' = LD 10-19 L D [AR1,P#4.0] T LD 4 T LD 14 L W [AR1,P#8.0] T LW 8 T LW 18 L LD 16 // 定义期望数组的地址 LAR1 L #Indices L LW 12 *I SLD 3 +AR1 TAR1 LD 16 然后用SFC20 (BLKMOV)将要处理的数组拷贝到数组[0]。就可以根据应用需求,对索引数组通过符号访问。 然后用SFC20 (BLKMOV)将数组[0]拷贝回原始区域。 135:能否在STEP 7中使用间接寻址编写循环程序? 可以,间接寻址允许寻址地址在程序运行期间才可以确定的操作数。这意味着,程序的一部分可以重复执行。在每个运行周期内,循环编程为所使用的操作数分配不同的地址。 136:ANY指针类型的参数如何被传送出块边界? 下面的例子解释了系统功能块SFC50“RD_LGADR”(读模块逻辑地址)内参数的确定。例如,为功能块FB1编程可分为下面几个步骤: • 声明一个IN变量“test”和一个TEMP变量“test2”,类型都为ANY(图1)。 • 将SFC50的参数“PEADDR”传送到变量“test2”(图1)。 • 通过为ANY指针“test”赋值,将数据传送到临时变量“test2”中。
语句L P##test首先将地址装载到Accu1,然后通过LAR1语句装载到地址寄存器AR1中(可能是LAR1 P##test的简化格式)。通过寄存器间接寻址将ANY指针(10 字节长)中的地址信息读出: 代码 注释 0 L W[AR1,P#0.0] 读出当前Accu1中参数数据类型的代码。 2 L W[AR1,P#2.0] 读出Accu1中的重复因数。重复因数表明通过参数类型ANY传递的数据类型的大小。 4 L W[AR1,P#4.0] 读数据块的号或者从ANY指针中读出“0”(这个对应于ANY指针的第 4 到第 5 字节)。 6 L D[AR1, P#6.0] 将区域指针读入 Accu1。 每次读地址寄存器AR1之后,数据被保存或者缓存(如T LW 0)在临时变量“test2”中(ANY指针)。按照Network 1中的语句顺序,传送到功能块FB1 的ANY指针被复制到临时变量“test2”中。 137:怎样通过交叉区域寄存器间接寻址访问功能块的本地数据或者功能? 这里必须预先定义本地数据。您可以使用下列语句访问FB或FC的本地数据: 对于存储器间接指针寻址,本地变量必须声明为临时变量(temp): L P##Lokalvariable LAR1 L W[AR1,P#X.x] 此处不能使用变量类型“Input”、“Output”和“In_Out”,将被语法检查视为非法。 138:怎样编程间接访问一个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]。 139:STEP 7 以哪种格式存储POINTER参数类型? STEP 7以 6 个字节保存POINTER参数。表4-1显示了用于保存POINTER参数类型的内存区域以及每个字节中保存的数据。i POINTER参数类型保存了下列信息:
DB号(如果DB中没有保存任何数据时为0)。 CPU中的内存区域(表格中列出了不同内存区域的十六进制代码)。 数据的地址(按照Byte.Bit格式)。 如果将形式参数声明为POINTER参数类型,则只需要指定内存区域和地址。STEP 7自动将输入项目的格式转换为指针格式。 140:如何间接访问I/O地址区域? 下面演示了一个间接访问PA区域的例子。您具有对输出模块只写访问和对输入模块只读访问的权利 FUNCTION_BLOCK FB 2 TITLE = VERSION : 0.1 VAR_INPUT TargetAddress : DWORD := DW#16#FF; //Target address by PA address range OutputValue : DWORD ; //Output value P_Typ : BOOL ; //1=PE range, 0=PA range END_VAR VAR_OUTPUT InputValue : DWORD ; //Input value END_VAR VAR_TEMP TargetTmp : DWORD ; END_VAR BEGIN NETWORK TITLE = U #P_Typ; SPB PEA; L #TargetAddress; T #TargetTmp; //Load target address in the tempor鋜e store SLD 3; //Calculate the formate of pointer Byte.Bit T #TargetTmp; //Initialisation of temp variable with target address in L-Stack L #OutputValue; //Load output value T PAD [#TargetTmp]; //Transfere output value to target address SPA End; PEA: L #TargetAddress; T #TargetTmp; //Load target address in the tempor鋜e store SLD 3; //Calculate the formate of pointer Byte.Bit T #TargetTmp; //Initialisation of temp variable with target address in L-Stack L PED [#TargetTmp]; //Load output value T #OutputValue; //Transfere output value to target address End: CLR ; END_FUNCTION_BLOCK

笨!

  • 精华:2帖
  • 求助:0帖
  • 帖子:41帖 | 394回
  • 年度积分:0
  • 历史总积分:662
  • 注册:2003年11月04日
发表于:2005-12-12 14:32:00
16楼
不能不说谢谢!

时空之门

  • 精华:0帖
  • 求助:0帖
  • 帖子:4帖 | 118回
  • 年度积分:0
  • 历史总积分:418
  • 注册:2004年9月21日
发表于:2005-12-14 07:38:00
17楼
幸苦了,前辈!!!

时空之门

  • 精华:0帖
  • 求助:0帖
  • 帖子:4帖 | 118回
  • 年度积分:0
  • 历史总积分:418
  • 注册:2004年9月21日
发表于:2005-12-14 07:38:00
18楼
幸苦了,前辈!!!

king0815

  • 精华:1帖
  • 求助:0帖
  • 帖子:34帖 | 196回
  • 年度积分:0
  • 历史总积分:826
  • 注册:2005年6月23日
发表于:2005-12-17 15:13:00
19楼
实在太感谢了!

江山月

  • 精华:0帖
  • 求助:0帖
  • 帖子:3帖 | 89回
  • 年度积分:0
  • 历史总积分:129
  • 注册:2005年1月26日
发表于:2005-12-21 09:54:00
20楼
楼主,辛苦了!!!

热门招聘
相关主题

官方公众号

智造工程师
    首页 上一页 1 2 3 下一页 尾页