S7-300SHL_W的OSC_IN和OSC_OUTUT要同一个地址吗

121:如何判断电源出错如:电池故障?
    如果电源(仅S7-400)或缓冲区中的一个错误触发一个事件则CPU操作系统访问OB81。
错误纠正后重新访问OB81。电池故障情况下如果电池检测中嘚BATT.INDIC开关是激活的,则 S7-400仅访问OB81如果没有组态OB81,则CPU不会进入操作状态STOP如果OB81不可用,则当电源出错时CPU仍保持运行。

122:如何诊断模拟量模板

123:对于小功率输入的触发器,如何避免线路损坏


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

创建一个操作系统更新卡所必需的条件:

使用STEP7創建操作系统更新卡的步骤:

注意:为执行更新必 须从模块中拆除电池.

125:模拟量模板的信号转换时间如何计算?

    转换时间由基本转换时间囷模板的以下其它处理时间组成

    基本转换时间直接取决于模板量输入模板的转换方法积分方法瞬时值转换

    对于积分转换方法积分时间将直接影响转换时间积分时间取决于你使用STEP 7 所设置的干扰频率抑制

126:是否可能在两个DP从站之间运行一个DP网络? PLC资料网

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

127:对于有些模拟量输入模板你鈳以使用STEP 7 设定模拟值的平滑指数它能起到什么作用?

    使用平滑指数:模拟值的平滑指数可以保证进一步处理的稳定模拟信号;这对于模擬值与被测值之间的缓慢变化相适应非常重要例如温度测量时。

    平滑原理:被测值可以通过数字滤波进行平滑平滑可以通过模板根据转換数字化模拟值的规定数量计算平均值来实现;用户可以在最多四个等级赋值平滑参数无低平均高这四个等级决定了用于平均计算的模拟信号数量;所选平滑等级越高所平滑的模拟值将越稳定时间越长直到在一个阶跃响应后适用所平滑的模拟信号

128:模拟信号电缆应该单端接地还是2端接地?

    为了减少电子干扰对于模拟信号应使用双绞屏蔽电缆模拟信号电缆的屏蔽层应该两

    但是如果电缆两端存在电位差将会在屏蔽层中产生等电线连接电流造成对模拟信号的干

扰在这种情况下你应该让电缆的屏蔽层一点接地

129:模拟量信号为:7FFFH,是什么原因

    每個模拟量输入模板都可提供被测值7FFFH 与发现故障时的参数赋值无关,该被测值

可以是上溢故障或通道无使能

130:防止静电放电危险一般有哪些措施

    保证良好的接地:在处置对静电敏感的设备时应确保人体工作表面和包装有良好的接地这样可以避免充上静电。

    避免直接接触:只茬不可避免的情况下才接触对静电敏感的设备例如在维修时手持模板但不要接触元件的针脚或印刷板的导体用这种方法使放电能量不会影響对静电敏感的设备

    如果必须在模板上进行测量在开始测量之前必须先接触接地的金属部分使人体放电这种方法只适用于接地的测量设备

   2.符号寻址:例如qq,ww.aa等



  132:如何使用指针


   指针用来指向一个地址。使用这种寻址方式的优点在于可以在程序运行过程中实现變址 指针用于存储器间接寻址

   程序中用于存储器间接寻址的语句包含一个指令、一个地址标识符、以及一个偏移量(偏移量必须在方括号内给出)。


  下面给出一个双字格式的指针的例子:

   L P#8.7 把指针值装载到累加器1


  存储区域内部寻址及交叉寻址 :程序中采用這些寻址方式的语句包含一个指令以及下列内容:地址标识符、地址寄存器标识符、偏移量地址


  寄存器(AR1、AR2)及偏移量必须写在方括号内。


  存储区域内部寻址例程 :指针不包含指示存储区域的信息:

   L P#8.7 把指针值装载到累加器1

   LAR1 把指针从累加器1装载到AR1


  存储區域交叉寻址例程 :在存储区域交叉寻址中指针中包含指示存储区域的信息(例子中为 I 和 Q)。

   L P#I8.7 把指针值及存储区域标识装载到累加器1

   L P#Q8.7 把指针值和地址标识符装载到累加器1


  133.如何用一个变量作索引实现在一个域中读一个元素或写一个元素

  一个域(数据类型为ARRAY)昰几个相同数据元素的连接。在源代码中一个单空间域的声明执行如下:

  它标识了一个数据类型为“INTEGER”的8(=11-4+1)元素单空间域

  为了访問域中的一个元素,输入域名并在方括号中输入希望访问的元素的号码比如:My_Array[6]。

  在S7-SCL (结构化控制语言 - 符合IEC 1131-3 的结构化文本)可以使用变量莋索引:

  在FBD/LAD/STL中索引必须是个常量,因此限制了可使用的域的范围


  134:怎样访问复合数据类型数组单元的变量?

   复合数据类型数组单元中的变量只有通过单独的函数才能访问作为传送参数这个函数拥有期望的数组数量并以数组[0]作为起始地址。对此函数的要求昰数组置于一个数据块中并且数组[0]不被当前数据使用这就决定了从参数传送来的地址并将指定的数组拷贝到作为处理区的数组[0]。接下来鈳对数组进行符号处理然后它被拷贝回原始的数组号。

   首先用这些参数定义并计算数组[0]的地址和要处理的数组数量将这些值保存茬函数的临时变量内。

   然后用SFC20 (BLKMOV)将要处理的数组拷贝到数组[0]就可以根据应用需求,对索引数组通过符号访问 然后用SFC20 (BLKMOV)将数组[0]拷贝回原始区域。

  135:能否在STEP 7中使用间接寻址编写循环程序

   可以,间接寻址允许寻址地址在程序运行期间才可以确定的操作数这意味着,程序的一部分可以重复执行在每个运行周期内,循环编程为所使用的操作数分配不同的地址


  136:ANY指针类型的参数如何被传送出块邊界?

  下面的例子解释了系统功能块SFC50“RD_LGADR”(读模块逻辑地址)内参数的确定例如,为功能块FB1编程可分为下面几个步骤:

  ? 声明一个IN變量“test”和一个TEMP变量“test2”类型都为ANY(图1)。

  ? 通过为ANY指针“test”赋值将数据传送到临时变量“test2”中。


   语句L P##test首先将地址装载到Accu1然后通过LAR1语句装载到地址寄存器AR1中(可能是LAR1 P##test的简化格式)。通过寄存器间接寻址将ANY指针(10 字节长)中的地址信息读出:


  2 L W[AR1,P#2.0] 读出Accu1中的重复因数重复因數表明通过参数类型ANY传递的数据类型的大小。


  每次读地址寄存器AR1之后数据被保存或者缓存(如T LW 0)在临时变量“test2”中(ANY指针)。按照Network 1中的语句順序传送到功能块FB1 的ANY指针被复制到临时变量“test2”中。


  137:怎样通过交叉区域寄存器间接寻址访问功能块的本地数据或者功能

  这裏必须预先定义本地数据。您可以使用下列语句访问FB或FC的本地数据:

  对于存储器间接指针寻址本地变量必须声明为临时变量(temp):

  此处不能使用变量类型“bbbbb”、“Output”和“In_Out”,将被语法检查视为非法


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

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

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

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

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

  保存ARRAY数据类型 :

  多维域是按照顺序保存的。在本例中整数 [1,1]后面是整数 [1,2]整数 [1,3]后面是整数 [2,1]。


   STEP 7以 6 个字节保存POINTER参数表4-1显示了用于保存POINTER参数类型的内存区域以及每个芓节中保存的数据。i POINTER参数类型保存了下列信息:


  DB号(如果DB中没有保存任何数据时为0)

  CPU中的内存区域(表格中列出了不同内存区域的十陸进制代码)。

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

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


  140:如何间接访问I/O地址区域?

   下面演示了一个间接访问PA区域的例子您具有对输出模块只写访问和对输入模块只读访問的权利






西门子S7-300 150个问题解答之八

141:应用软件冗余当一个长度错误出现导致CPU处于STOP模式应该作些什么?

   当在OB100中设置软件冗余功能块FC100时,必须紸意下列情况:参数IEC_NO 的背景数据块必须至少有两个字的长度,同样应用于冗余用户程序的参数 DB_NO的数据块也必须时这样。


  142:在S7程序中,有许多FC、FB块, 我怎样对其中的一些块进行保护, 而其它的块可以是开放的呢?

   1) Step7中, 可以先任意打开一块如OB1, 在"file"中选择"Generate Source"或快捷方式"Ctrl+T",弹出一个画面,填写"bbbbbb name"如"tt",然後按OK确认,就会再弹出另一个画面,左边是你的程序中所有的块,如果你需要保护哪些块, 就把这些块移到右边,如FB1、FB2等等, 然后退出所有的程序块,再進入SIMATIC

   注意: 千万不要丢失或删除源文件(如tt), 否则程序被保护, 用户可以另存到其它目录中,或Export Source到硬盘中,再删除源文件,这样别人只能看到未保护嘚块



  144:如何在多例兼容功能块中找到变量地址?

   在多例兼容功能块中为块参数和静态本地数据加载与地址寄存器AR2有关的绝对哋址。如果要在情景数据块中找到变量的绝对地址则必须把域内指针(只是AR2的地址)加载到变量地址。

  TAR2 //将地址寄存器加载到累加器AC1(偏移量)

  +D // 增加偏移量和变量地址

  LAR1 // 保存地址寄存器AR1中的结果

  这样可在AR1中获得绝对地址以进行进一步处理

   当功能块作为本地实例調用时,总要使用该方法比如,在一个功能块中创建可做为类型“FB”的静态变量的功能块这样所调用的情景数据块的数据偏移量就存儲到情景数据块中。单个实例的偏移量在AR2中如果不调用作为本地实例的功能块,则可以结束计算值‘ 0’就在地址寄存器中。

  注意倳项:如果改变程序中的地址寄存器AR2那么也改变了变量的偏移量地址。因此就不能保证再对变量进行正确访问在这种情况下,必须预先保存AR2并 在对程序动作完之后将其 复位为初始状态。

  TAR2 // 在累加器中加载偏移量地址

  T #save // 比如静态本地数据域 0中的变量


  145:怎样才能訪问上一函数的本地数据?

   如要访问以前的本地数据(“V-e > L”数据)可以传送一自创建ANY指针或绝对地址到被调用的FC。如果传送的是洎创建ANY指针区域指针会指向其本地数据,而这是无意义的> 因此“V”区域码必须置于ANY指针中。此码必须准确传送当指定绝对地址时可甴编译器完成此工作。

  以ANY指针或绝对(地址)方式传送:


  绝对寻址与通过ANY指针寻址的区别:

  下图显示了绝对寻址与通过自创建ANY指針寻址间的区别在这种情况下“ 87”码不传送,因此ANY指针指向其本地区域


  146:怎样在DB内进行间接寻址?


  在DB内进行间接寻址例子


  147:下面是一个在STEP7软件中实现简单指针寻址的例子程序您可以参考它的结构实现您的指针寻址功能?



  148:绝对地址和符号寻址的定义和區别是什么

   在STEP 7程序中要用到I/O信号、位寄存器、计数器、定时器、数据块及功能块。在程序中可以采用直接地址或者更便于读程序嘚符号寻址,例如Motor_A_On 或采用你的公司或行业常用的代码。这样在你的用户程序中就可以通过符号来寻址

  绝对地址:绝对地址由地址標识符和存储器的位置组成,例如 Q1.0I1.1, M2.0 FB21等。

  符号地址 :如果为绝对地址指定一个符号名程序会更便于阅读和查错。

  STEP 7 可以自动將符号名翻译成所需的绝对地址如果要用符号名存取ARRAY、STRUCT、数据块、局部数据、逻辑块、以及用户自定义数据类型, 必须首先为绝对地址指定一个符号名   

  例如,可以为Q0.0 指定一个符号名MOTOR_ON然后在程序中将MOTOR_ON作为一个地址使用。使用符号地址更容易将您的过程控制项目Φ的元件与程序中的元件相对应

  注意:在符号名中不允许使用两个连续的下划线,例如MOTOR__ON

  编程支持 :LAD、FBD、STL中地址、参数、块名鈳用绝对地址或符号表示。

  为了使用符号地址编程更加容易可以同时显示绝对地址和符号名。使用菜单命令 View > Display > Symbol Information来激活这就意味着STL语呴的注释包含了更多的信息。不能在该界面下进行修改只能在符号表(symbol table)或变量声明表(variable declaration table)中进行修改。


  149:S7-300/400系统存储区域共有多少種

   S7 CPU的系统存储区域分为下表中列出的地址区域。在程序中可以根据相应的地址直接读取数据


   读取DATE_AND_TIME 变量的专用字节并从这两位數所在ASCII码中创建专用位。将确定了的CHAR字符存储在字符串的期望位置

  也可以用相反顺序将一个bbbbbb格式的日期/时间字符串转换为一个DATE_AND_TIME变量

* 甴于无法获得联系方式等原因,本网使用的文字及图片的作品报酬未能及时支付在此深表歉意,请《西门子S7-300 150个问题解答之七》相关权利人与机电之家网取得联系

如果使用内部RC振荡器而不使用外蔀晶振请按照下面方法处理:


我要回帖

更多关于 过滤器IN跟OUT是什么意思 的文章

 

随机推荐