ImageVerifierCode 换一换
格式:DOCX , 页数:76 ,大小:750.86KB ,
资源ID:3080566      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/3080566.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(SCL编程问答.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

SCL编程问答.docx

1、SCL编程问答访问S7SCL数组的索引 问题:我能否得到一个访问SCL数组的索引?解答:可以。在SCL中可以有一个访问数组变量的索引,这里索引也可以是一个单精度的变量(与STEP7 STL成对比)。Example:function FC1:voidvaranna : ARRAY1.30 OF INT;willy : INT;end_varbeginwilly:= 1;willy := annawilly;end_function关键字:索引在 S7-SCL 中如何进行 SFC14 和 SFC15 ANY 参数的编程? 使用说明 操作指南:在 S7-SCL 和 LAD/FBD/STL 编辑器中,

2、要在 UDT 或 DB 中声明一个 ANY 数据类型的变量是不可能的,因为 ANY 变量是一个参数类型。但是,可以声明 ANY 变量是一个临时变量。 当调用 SFC14 或 SFC15 时,应确保通过 ANY 变量“记录”被参数化的用户数据区的长度必须与 HW Config 中的模块组态中的用户数据区长度相同(例如 3 字节)。这就是为什么建议要在 STL 中调用这些块,目的是可以定义 ANY 指针到精确的字节上(例如 DB100.DBX0.0 BYTE 3)。如果在符号编程过程中,在 SCL或 LAD/FBD/STL中,传送 STRUCT 或 ARRAY 到 ANY 类型的块参数时,编译器传

3、送适当的 ANY 指针。 如果直接调用 SFC14 或 SFC15 并通过“STRUCT”或“ARRAY”类型的变量用符号提供“记录”参数,若从站组态的字节数是奇数,则 SFC14/15 报告错误代码 80B1。 这个动作的原因是 STEP 7 中的 STRUCT 与 ARRAY 总是按字的边界储存在存储器中,所以总是传输的是偶数长度。 如果在 S7-SCL 中调用 SFC14 或 SFC15并要动态地提供 ANY 指针,建议在 SCL “变量区域声明视图”中使用“AT” 结构。 图. 01 程序描述CALL_SFC14_15 功能块提供了 SFC14读取和SFC15写一致性的数据到一个标准的

4、从站。数据被储存在DB_Number所指的DB块中DB_Byte_Addr所指的地址开始的地址区中。 字节的长度(“BYTE_COUNT”) 一定要与 STEP 7 组态所选模块的长度相同。如果 SFC15_Select参数的状态指示未 1 (True), 用SFC15传输数据到从站,若指示为 0 (False), 用SFC14从从站读取数据。“LADDR”参数和返回值“RET_VAL”在 STEP 7 SFC14/15 在线帮助中有描述。 用户创建数据区拷贝功能注意事项例如,在WORD_TO_BLOCK_DB(DBNo).DBBIndex形式下,用户需自定义两个索引标签, 数据区拷贝和索引的

5、直接访问是不允许的。原因是数据块号和此数据块的地址仅可以在运行的过程中被访问。除此之外系统是禁止访问的。 下载附件下载包括有 S7-SCL 功能 FC10 的STEP 7 项目。复制 “NY_SCL.zip”文件到一个单独的文件夹,然后双击打开文件。STEP 7 V5.4 项目及所有相关子目录就会自动解包。可以使用 SIMATIC 管理器打开和处理解压缩项目。 此处有STEP 7 项目中的两个相同的 S7 程序。 “S7-Prog_d”包括德文注释的 S7-SCL 功能。 “S7-Prog_e”包括英文注释的 S7-SCL 功能。 ( 48 KB ) 相关信息:关于带AT功能的ANY 指针的结

6、构的更多信息可在条目号21946854获得。 关键字:ANY pointer S7-SCL 中的全局常数订货号: 描述 使用 S7-SCL,不能定义任何全局常数。 解决方法:在 STEP 7 的符号表中,使用相应的数据类型创建标记字或双字。为这些标记区域分配恒定的数值。此后,便可以在整个项目中通过符号寻址和恒定分配的数值来使用标记数据区,这当然也包括 S7-SCL。 图.01 在变量表中定义 Global_Const 变量, INT 类型,地址是 MW50 。在 OB1 里使用load和 transfer 指令赋值。由此即可在项目和 S7-SCL 源程序里使用此变量。 图01 S7-SCL 中

7、如何编辑、比较字符串,或将字符串转变为其他的数据类型?订货号: 描述:此条目下处理下列问题: 对一个字符串中的某个字符进行直接读写访问字符串中的单个元素是无法单独访问的,例如这样的格式不允许: MB10 = str5 。 图 01 实例说明如何使用 IEC FC26 “MID” 函数、转换函数 “ STRING_TO_CHAR ”和“ CHAR_TO_BYTE ”对字符串中某个元素进行访问。 图 01 参数含义: IN : STRING 格式的输入变量。 L :从位置 P 开始(含 P)的字符串长度。(数据类型: INT ) P : 起始字符位置。 (数据类型: INT ) RET_VAL :

8、 STRING 格式的输出变量。编辑,比较转换数据类型下面的 PDF 文件中是使用 IEC 标准函数进行字符串编辑的 S7-SCL 一些例子与说明。 ( 99 KB ) 字符串比较 FC 例程FC 的参数往往传递的是地址。 由于 FC的 STRING 类型的参数地址指向调用者中字符串的存储位置, 如果此 FC 被调用时,所传递的指向字符串的地址是无效的。然而对于 FB ,传递的字符串存储于背景 DB 中,所传递的地址是总是有效的。对于包含字符串比较程序的 FC ,在处理之前必须将字符串数据从 IN, OUT , IN_OUT 传到临时变量区,否则编译会失败,错误消息是:“Parameter a

9、ssignment incorrect” (参数分配错误)。图 02 是 S7-SCL字符串比较 FC 程序示例。当此 FC 被调用时,如果没有被装载到 FC 的临时变量区,string1 和string2 将无法被获取。 图02 然而,缓存字符串数据到临时变量区域将很快导致本地存储需求增长,如果只有少数的 STRING 变量,使用临时变量是适宜的,但是 STRING 变量很多,建议使用 DB 变量缓存字符串。图 03 为使用数据块 DB100 缓存输入变量的示例。 图03 关键字:消息号 15:4099 , 错误消息,临时变量,指针 图 如何读出带有S7-SCL关键字“AT”的字符串中的管理

10、和字节部分?订货号: 说明:在某些数据通信任务中, 例如通过TCP协议(见条目号:)传送有可变信息长度的数据,字符串的管理和字节部分可能必须分开。S7-SCL的关键字AT可用于这一目的。 数据类型STRING包含最多254个字符。STRING数据类型的变量的最大长度为256个字符。 在变量创建时,也同时定义了其最大长度。当前长度(字符串使用的实际长度)在字符串重构或编辑过程中被输入。字符串的第一个字节指定最大长度,第二个字节指定实际长度 。接下来的字符为ASCII格式。图T1-01显示了STRING数据类型的结构。 图 01 注意事项:数据类型STRING格式的更多信息可在STEP 7的在线帮

11、助中找到: “数据类型STRING的格式”。可在S7-SCL的帮助中找到关于关键字“AT”的更多信息: 声明变量范围的视图在S7-SCL中关键字“AT”是变量或变量范围视图的一个定义。建议使用功能块的静态变量而不是全局数据块。然后就可通过符号连接这个变量,例如ABC “STRING”类型。 使用S7-SCL指令AT通过STRING变量ABC来创建一个模板。如图T1-01所示,数据类型STRING包含256个字节。字符串的最大长度和实际长度分别输入到字节1和字节2。在图T1-02的样例程序中,字节“String_maximal”包含最大长度,而字节“String_actual”包含实际长度。字符

12、串中的字符,最多总共254个,通过域JKL: ARRAY1.254 OF BYTE定义。 可通过变量DEF.JKL连结字节部分,例如字符串ABC中的第三个字节,及字符串中的第一个字符。图T1-02包含了读取数据类型STRING的字节部分的 一个S7-SCL程序。 DEF.JKL1:= MB1 图 02 在 S7-SCL 中如何访问 BYTE 、WORD 和 DWORD 变量的各个位?说明:从 S7-SCL 版本 V5.1 起,可以使用 AT 函数去读写变量的元素。当定义变量视图后,可以读写: 变量数据类型为 BYTE 、WORD、DWORD 的位 变量数据类型为 WORD、DWORD 的字节

13、变量数据类型为 DWORD 的字AT 特性主要用于 INPUT,OUTPUT 和本地变量。图. 01 显示了访问 BYTE 变量位的 AT 功能的 S7-SCL 样例: 图 01 图. 01 在这个 S7-SCL 的样例程序中,创建了输入叁数的多视图。如果 FB40 被调用,你能参数化作为输入和输出变数的 MainVarByte 、 X2 和 X5 叁数。 FilterVar 叁数不在调用块中出现。变量 MainVarByte 被分为变量 FilterVar 的 8个布尔值。请参考 S7-SCL 的在线帮助中 声明变量范围视图 部分。 数据类型的声明变量的数据类型基本类型复杂类型ANY/指针F

14、B声明视图VAR, VAR_TEMP,VAR_IN,或VAR_OUT基本类型复杂类型ANY/指针XXXXX1)X1)声明视图VAR_IN_OUT基本类型复杂类型ANY/指针XXFC声明视图VAR或 VAR_TEMP基本类型复杂类型ANY/指针XXXXXX声明视图VAR_IN, VAR_OUT 或 VAR_IN_OUT基本类型复杂类型ANY/指针XX表. 01 1)这里应该注意变量域“VAR_OUT”中的 ANY 指针在功能块中是不允许的。上述样例程序也不能用于 FC 中的 VAR_IN 变量和 VAR_OUT 域。 图. 02 示例复制两个输入变量 (WORD数据类型)到一个输出变量 (DWORD数据类型)。 两个输入变量的存储区 A_word和 B_word被复制到输出变量

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1