您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 信息化管理 > 施耐德PLCM218编程手册
1.M218硬件和内存综述本章给出了本书中M218硬件和内存的介绍本章内容本章包含一下章节内容:章节章节内容页码1.1M218硬件概述1.2M218的内存地址分配1.3M218的变量设定2.M218编程语言综述本章给出了本书中M218编程语言的介绍本章内容本章包含一下章节内容:章节章节内容页码2.1梯形图-LD语言2.2ST语言2.3FBD功能块语言2.4CFC连续功能图2.5SFC顺序功能图3.M218编程指令综述本章给出了本书中M218的编程指令介绍本章内容本章包含一下章节内容:章节章节内容页码3.1布尔逻辑指令3.2标准库指令4.M218的somachine编程软件综述本章给出了本书中M218的somachine编程软件详细介绍本章内容本章包含一下章节内容:章节章节内容页码4.1Somachine软件的安装和卸载4.2Somachine软件的启动4.3创建工程4.4程序的创建和配置4.5程序编写和示例4.6程序的编译和模拟调试4.7软件连线和程序下载4.8Somachine的modbus通讯功能示例4.9PLCFIRMWARE固件的升级11M218硬件和内存综述本章给出了本书中M218硬件和内存的介绍本章内容本章包含一下章节内容:章节章节内容页码1.1M218硬件概述1.2M218的内存地址分配1.3M218的变量设定1M218硬件概述M218的CPU本体型号规格PLC型号功能描述1TM218LDA40DR4PH40点的IO�继电器输出�2模拟输入�2个模拟输出�2PTO�两个高速计数�220VAC电源供电2TM218LDA40DR2H40点的IO�继电器输出�2个模拟输出�2个主要的高速计数�220VAC电源供电3TM218LDA40DRPH40点的IO�继电器输出�2个脉冲输出�2个主要的高速计数�220VAC电源供电4TM218LDA24DR24点的IO�继电器输出�220VAC电源供电5TM218LDA24DRH24点的IO�继电器输出�2个主要的高速计数�220VAC电源供电6TM218LFAE40DRPH40点的IO�继电器输出�2个脉冲输出�2个主要的高速计数�以太网�220VAC电源供电7TM218LFAE24DRH24点的IO�继电器输出�2个主要的高速计数�以太网�220VAC电源供电8TM218LDA40DR2PH40点的IO�继电器输出�2个模拟输出�2个脉冲输出�2个主要的高速计数�220VAC电源供电9TM218LDA24DR4H24点的IO�继电器输出�2模拟输入�2个模拟输出�2个高速计数�220VAC电源供电10TM218LDA16DR16点的IO�继电器输出�220VAC电源供电扩展模块型号:扩展模块型号功能描述1TM2DMM16DRTN8点继电器输入,8点常规输入2TM2A4TCTN4路温度控制3TM2AMI2HTN2路模拟量输入4TM2AMO2HTN2路模拟量输出5TM2AMO4HTN2路模拟量输入,2路模拟量输出6TM2DOCKN扩展连接器M218产品功能概述�1个USB口可用于CODESYS编程�迷你B接口�。�PLC整合了2路串行通讯�一个是支持MODBUS的RS485口�RJ45接口可用于触摸屏链接��另一个是端子块式的RS485口�可用于串口链接伺服和变频器。�PLC时间是由外置电池保存的。精度是每天1秒�如果断电更换电池�必须保证在3分钟之内完成。�最多可支持1个以太网口。�本体可通过扩展电缆接口直接连接扩展模块。�I/O点数从16到60点。2�PLC集成了CPULED指示灯�IOLED指示灯�串行通讯LED指示灯�以太网LED指示灯。�最大2路100KHZ的脉冲输出�和2路100KHZ的AB相高速计数或4路100KHZ的单相高速计数。�对于40点或60点的PLC本体�最多可支持7个扩展模块�对应16或24点的PLC本体�最多可支持4个扩展模块。�PLC本体集成2路模拟量输入和2路模拟量输出。�所有PLC本体上集成1个运行和停止切换开关。3M218的内存地址分配综述本章节描述M218的内存地址类型、内存地址的结构和分配M218内存类型M218通过特定的字符来显示各个内存地址中的内容。语法�%范围前缀长度前缀数字|.数字|.数字....可以使用以下的范围前缀�I输入区Q输出区M内存区可以使用以下的长度前缀�X单个二进制位None单个二进制位B字节�8位�W字�16位�D双字�32位�例如�%QX7.5and%Q7.5输出区的地址7�第5位%IW215输入区的地址215�1个字%QB7输出区的地址7�1个字节%MD48内存区的地址48�双字。%IW2.5.7.1取决于PLC的设置ivarAT%IW0:WORD;t带有指定地址的变量声明的例子4注意%MX,%MW,%MD占用相同的内存地址�应该合理分配�不要重叠。M218的内存分配RAM内存区有2块区域组成�大小是2M�1024Kbytes系统区�用于操作系统内存。�1024Kbytes用户内存区�用于应用程序。保持和持久保存变量是保存在内置RAM中�且可断电保存。内存区域内存元素大小%MW大小60000%MW0...%MW59,999系统和诊断变量(%MW60,000...%MW60,199)RelocationTable(%MW60,200...%MW63,999)120Kbytes系统内存区1024Kbytes预留900Kbytes变量程序库用户自定义(1)549Kbytes符号(2)200Kbytes(1000symbolmax)用户内存区1024Kbytes预留275Kbytes有1976bytes内存RAM可断电保存744bytes保持变量(3)232bytes持久保存变量1000bytes保存在%MW0~%MW499�%M数据类型�%M变量不存在�可从字中取位�如%MX10.4�%MX的大小5�用户程序容量�逻辑步��平均每个指令大约占用41bytes(0.3*16+0.7*52),有100Kbytes的内存用于系统配置和数据�约有549Kbytes可用于编程�总计可有(549-100)*1000/41=10950条程序�逻辑步�可编写。预留�768bytes�保持�256bytes�%MW0-%MW499(1000bytes)%MW599-59999(59500bytes)保存区域非保存区域M218非易失性内存的容量总共是2K字。其中预留内存区是768bytes�256bytes个保持内存区,1000bytes的%MW区�在PLC断电或重启后�这些区域是断电保存的。%M内部位的范围从%M0到%M7999。同时�%M和%MW是占用相同的内存区的。M218总共有60000个%MW区可用�每个%MW可使用16个%M的位�即%MWY可用于%M(16*Y)到%M(16*Y+15)。6M218系统变量区1)变量名给应用程序和库中的变量命名时应当尽可能地遵循匈牙利命名法�每一个变量的基本名字中应该包含一个有意义的简短描述。基本名字中每一个单词的首字母应当大写�其它字母则为小写�例如�FileSize�依据变量的数据类型�在基本名字之前加上小写字母前缀。请看下表列出的一些特定数据类型的推荐前缀和其它相关信息�数据类型关键字值数据长度布尔类型BOOLTRUE/FALSE1整数类型BYTEWORDDWORDLWORDSINTUSINTINTUINTDINTUDINTLINT0�2550�655350�42949672950�2�64-1-128�1270�255-32768�327670�65535-2147483648�21474836480�4294967295-2�63�2�63-18163264881616323264实数类型REAL1.175494351e-38F�3.402823466e+38F64字符串类型STRINGASCII80(default)双字节字符串类型WSTRINGUNICODE时间数据类型TIMETIME_OF_DAYDATEDATE_AND_TIMET#10msTOD#10:00:00D#2010-3-1DT#2010-3-1-10:00:002)I/O地址映射M218的输入/输出地址是按照IEC的标准而定的�同时兼任CODESYS�可以使用%IXm.(0to7)or%QXm.(0to7)�其中m的值是随着本体和模块的I/O数量递增的。由于M218的I/O地址管理是与TWIDO不兼容的。因此�必须使用以下标志符:[ModuleName].[ChannelName]。M218的具体I/O地址分配如下表�7型号数字量输入数字量输出模拟量输入模拟量输出TM218LDA24DRH%IW0%QW0--TM218LFAE24DRH%IW0%QW0--TM218LDA40DRPH%IW0,%IW1%QW0--TM218LFAE40DRP%IW0,%IW1%QW0--TM218LDA40DR2H%IW0,%IW1%QW0-%QW1,%QW2TM218LDA40DR4PH%IW0,%IW1%QW0%IW2,%IW3%QW1,%QW2TM218LDA24DR%IW0%QW0--8M218的变量设定综述本章节描述M218的变量的定义、变量配置和变量声明变量的定义用户可以在POU的声明部分或全局变量列表中声明全局变量。在声明的数据类型允许的任何地方都可以使用变量。您可以通过输入助手访问有效的变量。变量初始化的所有变量声明的默认初始化值均为0。但用户可以在各个变量和数据类型的声明中添加自定义的初始值。使用赋值操作符“:=”指定用户自定义初始值。这个值可以是任意有效的ST表达式。因此常量、其它变量和函数都可以作为初始值�而程序只检查给其他变量初始化的变量自身是否已被初始化。正确的变量初始化举例�VARvar1:INT:=12;(*整数变量的初始化值为12*)x:INT:=13+8;(*使用常量表达式定义初始化值*)y:INT:=x+fun(4);(*使用含有函数调用的表达式定义初始化值�请注意此处的顺序�*)z:POINTERTOINT:=ADR(y);(*IEC61131-3中未描述的情况�使用地址函数定义初始化值�请注意此处�在线修改时指针不会被初始化�*)END_VAR变量配置“变量配置”可以用来将功能块变量映射到过程映像�例如I/O设备之中�而不需指定已经在功能块变量声明中的确定地址。此处确定地址的指定是围绕所有在全局VAR_CONFIG列表中的功能块实例进行的。为此您可以把“不完整的”地址指定给在关键字VAR和END_VAR之间声明的功能块变量。这些不完整的地址用星号标志。语法�标识符AT%I|Q*:数据类型;不完整定义的地址的使用举例�FUNCTION_BLOCKlocioVARxLocInAT%I*:BOOL:=TRUE;xLocOutAT%Q*:BOOL;END_VAR此处定义了两个局部I/O变量�一个局部输入�%I*�和一个局部输出�%Q*�。地址的最终定义在全局变量列表的“变量配置”中进行�为此通过添加对象命令向POU或设备窗口中添加一个“全局变量列表”对象�GVL�。这里在关键字VAR_CONFIG和END_VAR之间键入带有确定地址的实例变量的声明。必须通过完整的实例路径指定实例的变量�在这里各个POU和实例名称按照时期分开。声明必须包含一个地址�这个地址的种类�输入/输出�对应于那个在功能块中不完整地指定的地址�%I*,%Q*�。数据类型也必须与功能块中的声明相符。9语法�实例变量路径AT%I|Q位置:数据类型;当实例不存在从而导致实例路径无效时�将显示配置变量错误。另一方面�当指定给不完整的地址的实例变量的确定地址配置不存在时�也会提示出错。变量配置举例假设程序中给出了如下对功能块locio的定义�参见上文的例子��PROGRAMPLC_PRGVARlocioVar1:locio;locioVar2:locio;END_VAR那么以下为正确的
本文标题:施耐德PLCM218编程手册
链接地址:https://www.777doc.com/doc-3598124 .html