西门子模块6ES7231-7PB22-0XA8工作原理
西门子模块6ES7231-7PB22-0XA8工作原理
西门子模块6ES7231-7PB22-0XA8工作原理

西门子模块6ES7231-7PB22-0XA8工作原理

发布
浔之漫智控技术-西门子PLC代理商
手机
15221406036
发布时间
2023-11-28 03:47:19
产品详情
西门子模块6ES7231-7PB22-0XA8工作原理137:怎样通过交叉区域寄存器间接寻址访问功能块的本地数据或者功能?  这里必须预先定义本地数据。您可以使用下列语句访问FB或FC的本地数据:  对于存储器间接指针寻址,本地变量必须声明为临时变量(temp):  L P##Lokalvariable  LAR1  L W[AR1,P#X.x]  此处不能使用变量类型“bbbbb”、“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区域的例子。您具有对输出模块只写访问和对输入模块只读访问的权利PLC资料网   FUNCTION_BLOCK FB 2   TITLE =   VERSION : 0.1   VAR_bbbbb   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   bbbbbValue : DWORD ; //bbbbb 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 storePLC   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_BLOCKPLC资料网  图片: 西门子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 Manager中。   2) 在S7 Program Sources找到文件tt,双击tt打开,在第四行中加入"Know_How_Protect", 然后编译, 无错后存盘。这样FB1、FB2就被保护住,如想去掉保护,在tt中去掉"Know_How_Protect"编译存盘即可。   注意: 千万不要丢失或删除源文件(如tt), 否则程序被保护, 用户可以另存到其它目录中,或Export Source到硬盘中,再删除源文件,这样别人只能看到未保护的块。    143:SFB41,SFB42,SFB43和FB41,FB42,FB43的区别?   SFB41(CONT_C),SFB42(CONT_S),SFB43(PULSEGEN)块和FB41(CONT_C),FB42(CONT_S),FB43(PULSEGEN)的区别: SFB41,42,43与FB41,42,43的参数设置是一样的。SFB41,42,43只能用于CPU314IFM;FB41,42,43可用于CPU313以上的CPU(除CPU314IFM),因为SFB41,42,43集成于CPU314IFM中,而在普通CPU中没有这些块。    144:如何在多例兼容功能块中找到变量地址?   在多例兼容功能块中,为块参数和静态本地数据加载与地址寄存器AR2有关的地址。如果要在情景数据块中找到变量的地址,则必须把域内指针(只是AR2的地址)加载到变量地址。  样例:  TAR2 //将地址寄存器加载到累加器AC1(偏移量)  UD DW#16#00FF_FFFF // 关闭区域ID  L P##variable //加载变量地址  +D // 增加偏移量和变量地址  LAR1 // 保存地址寄存器AR1中的结果  这样可在AR1中获得地址以进行进一步处理。   当功能块作为本地实例调用时,总要使用该方法。比如,在一个功能块中创建可做为类型“FB”的静态变量的功能块。这样所调用的情景数据块的数据偏移量就存储到情景数据块中。单个实例的偏移量在AR2中。如果不调用作为本地实例的功能块,则可以结束计算。值‘ 0’就在地址寄存器中。  注意事项:如果改变程序中的地址寄存器AR2,那么也改变了变量的偏移量地址。因此就不能保证再对变量进行正确访问。在这种情况下,必须预先保存AR2,并 在对程序动作完之后将其 复位为初始状态。  样例:  TAR2 // 在累加器中加载偏移量地址  T #save // 比如,静态本地数据域 0中的变量  L DID 0 // 地址是由DI加载的beds  L AR2 // 核对    145:怎样才能访问上一函数的本地数据?   如要访问以前的本地数据(“V-e > L”数据),可以传送一自创建ANY指针或地址到被调用的FC。如果传送的是自创建ANY指针,区域指针会指向其本地数据,而这是无意义的。> 因此“V”区域码必须置于ANY指针中。此码必须准确传送。当指定地址时可由编译器完成此工作。  常规程序结构:  以ANY指针或(地址)方式传送:  LAR1 P##target //本地定义的ANY变量初始地址  L W#16#87 //为“V”区域载入码  T LB[AR1,P#6.0] //传送到ANY变量  CALL FCxy  source1: = #target //传送自创建的ANY指针  source2: = P#L 0.0 BYTE 8 //传送完全L数据区    寻址与通过ANY指针寻址的区别:  下图显示了寻址与通过自创建ANY指针寻址间的区别。在这种情况下“ 87”码不传送,因此ANY指针指向其本地区域。      146:怎样在DB内进行间接寻址?    请参照:  在DB内进行间接寻址例子    147:下面是一个在STEP7软件中实现简单指针寻址的例子程序,您可以参考它的结构实现您的指针寻址功能?    siemens指针寻址例子_cpu315    148:地址和符号寻址的定义和区别是什么?   在STEP 7程序中要用到I/O信号、位寄存器、计数器、定时器、数据块及功能块。在程序中可以采用直接地址,或者更便于读程序的符号寻址,例如Motor_A_On, 或采用你的公司或行业常用的代码。这样在你的用户程序中就可以通过符号来寻址。  地址:地址由地址标识符和存储器的位置组成,例如 Q1.0,I1.1, M2.0, FB21等。  符号地址 :如果为地址指定一个符号名,程序会更便于阅读和查错。  STEP 7 可以自动将符号名翻译成所需的地址。如果要用符号名存取ARRAY、STRUCT、数据块、局部数据、逻辑块、以及用户自定义数据类型, 必须首先为地址指定一个符号名。     例如,可以为Q0.0 指定一个符号名MOTOR_ON,然后在程序中将MOTOR_ON作为一个地址使用。使用符号地址更容易将您的过程控制项目中的元件与程序中的元件相对应。  注意:在符号名中不允许使用两个连续的下划线,例如MOTOR__ON。  编程支持 :LAD、FBD、STL中地址、参数、块名可用地址或符号表示。  用菜单命令View > Display > Symbolic Representation,可以切换地址和符号地址  为了使用符号地址编程更加容易,可以同时显示地址和符号名。使用菜单命令 View > Display > Symbol Information来激活。这就意味着STL语句的注释包含了更多的信息。不能在该界面下进行修改,只能在符号表(symbol table)或变量声明表(variable declaration table)中进行修改。    149:S7-300/400系统存储区域共有多少种?   S7 CPU的系统存储区域分为下表中列出的地址区域。在程序中可以根据相应的地址直接读取数据。      150:如何把一个DATE_AND_TIME变量转换为bbbbbb变量?   为了以日期/时间字符串(bbbbbb)形式显示DATE_AND_TIME变量,必须DATE_AND_TIME 变量的专用字节转换为相应的CHAR字符。   读取DATE_AND_TIME 变量的专用字节并从这两位数所在ASCII码中创建专用位。将确定了的CHAR字符存储在字符串的期望位置。  示例:  L 字节年  SLD 12  SRW 4  SRD 8  L W#16#3030  + I  T 数字字符年  也可以用相反顺序将一个bbbbbb格式的日期/时间字符串转换为一个DATE_AND_TIME变量  SIEMENS S7-300/400系列PLC共有5种定时器指令,它们是:S_PULSE(脉冲定时器)、S_PEXT(扩展脉冲定时器)、S_ODT(接通延时定时器)、S_ODTS(保持型接通延时定时器)、S_OFFDT(断电延时定时器)。下面分别说明这5种定时器指令的区别。1、S_PULSE(脉冲定时器)脉冲定时器的时序图如下:其工作特点为:输入为1,定时器开始计时,定时位为1;计时时间到,定时器停止工作,定时位为0。如在定时时间未到时,输入变为0,则定时器停止工作,定时器位为变为0。2、S_PEXT(扩展脉冲定时器)扩展脉冲定时器的时序图如下: 其工作特点为:输入从0→1时,定时器开始工作计时,定时器位为1;定时时间到,定时器位为0。在定时过程中,输入信号断开不影响定时器的计时(定时器继续计时)。3、S_ODT(接通延时定时器)接通延时定时器的时序图如下:其工作特点为:输入信号为1,定时器开始计时(定时器位为0);计时时间到,定时器位为1。计时时间到后,若输入信号断开,则定时器位变为0。如在计时时间未到时,输入信号变为0,则定时器停止计时。4、S_ODTS(保持型接通延时定时器)保持型接通延时定时器的时序图如下:其工作特点为:输入信号为1,定时器开始工作并计时,计时时间到,定时器位为1。输入信号只起一个触发定时器工作的作用,在计时过程中输入信号断开不影响定时器计时和定时器位。定时器位只有使用复位指令才能变为0并触发下一个定时器定时工作。5、S_OFFDT(断电延时定时器)断电延时定时器的时序图如下:其工作特点为:输入信号由0→1时,定时器位为1(但定时器不开始计时);当输入信号由1→0时,定时器才开始计时,计时时间到,定时器位变为0。在计时过程中,输入信号由0→1将复位定时器,当由1→0时重新开始计时。

浔之漫智控技术-西门子PLC代理商

经理:
聂航(先生)
手机:
15221406036
地址:
上海市松江区石湖荡镇塔汇路755弄29号1幢一层A区213室
行业
工控系统及装备 上海松江工控系统及装备
我们的其他产品
拨打电话
QQ咨询
请卖家联系我