PLC应用技术项目教程(西门子S7-1200) 课件 项目9、10 运动控制系统设计、S7-1200 PLC通信系统设计_第1页
PLC应用技术项目教程(西门子S7-1200) 课件 项目9、10 运动控制系统设计、S7-1200 PLC通信系统设计_第2页
PLC应用技术项目教程(西门子S7-1200) 课件 项目9、10 运动控制系统设计、S7-1200 PLC通信系统设计_第3页
PLC应用技术项目教程(西门子S7-1200) 课件 项目9、10 运动控制系统设计、S7-1200 PLC通信系统设计_第4页
PLC应用技术项目教程(西门子S7-1200) 课件 项目9、10 运动控制系统设计、S7-1200 PLC通信系统设计_第5页
已阅读5页,还剩155页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

PLC应用技术项目教程9运动控制系统设计提升篇知识目标2掌握运动控制工艺对象设置及常用指令的使用方法1掌握高速脉冲输出和高速计数器指令及其应用能力目标2能够使用伺服电机进行位置、速度控制1能够使用步进电机进行位置、速度控制项目九运动控制系统设计提升篇3掌握步进电机、伺服电机及其驱动器主要参数设置及电气接线素质目标1通过伺服参数设置培养细致严谨的工作习惯项目学思1步进电机工作方式——一步一步脚踏实地的实践思维方式——培养持之以恒的精神。伺服电机工作方式-精准位置控制——一切行动听指挥——实践操作需严格遵守安全操作规范。项目九运动控制系统设计基础篇2通过位置控制培养细心的工作态度3412项目背景及控制分析相关知识项目实施项目考核项目九运动控制系统设计基础篇项目背景

在很多自动化生产线中,如包装、纺织、印刷、搬运、装配等领域,其生产环节需要实现比较复杂的运动,在运动过程中需要进行精确的位置控制。一般由控制器(PLC)、驱动器(步进电机驱动器、伺服电机驱动器)、执行机构(步进电机、伺服电机)、反馈机构(编码器)组成运动控制的基本单元。S7-1200PLC具备完善的运动控制功能,使用TIA博途软件可以方便的开发运动控制系统。

精确位置控制持之以恒控制分析(1)使用步进电机实现速度控制、位置控制(点动、绝对运动、相对运动、回原点、轴复位);本项目使用的步进电机(型号42BYG250)参数:1)步距角(度):0.9/1.82)相电流(安培):1.13)保持转矩(N.m):0.34)空载启动频率(KPPS):25)相数:26)重量(KG):0.357)出线形式:4控制分析(2)使用伺服电机(V90pn)实现速度控制、位置控制(点动、绝对运动、相对运动、回原点、轴复位)。本项目使用的伺服电机订货号:1FL6024-2AF2x-xAA\Gx额定功率:0.1KW额定电流:1.2A额定速度:3000rpm额定扭矩:0.32Nm编码器:增量式TTL2500ppr本项目使用的伺服驱动器订货号:6SL3210-5FB10-1UFx进线电压:230V额定功率0.1KW额定电流:1.4A3412项目背景及控制分析相关知识项目实施项目考核项目九运动控制系统设计提升篇步进电机1步进电机驱动器的细分、运行拍数和步距角计算2步进电机驱动器3高速脉冲输出和高速计数器4伺服系统5步进电机与伺服电机的区别61.步进电机

步进电机又称为脉冲电机,是将高速脉冲信号转换成角位移的执行机构,一般应用在低速的对位置精度要求不太高的开环控制场合。步进电机工作需要有一定相序的、较大电流的脉冲信号,一般均配合步进电机驱动器使用,由控制器向驱动器发送脉冲信号,步进电机驱动器驱动步进电机转动与脉冲信号个数相应的角度或前进相应的步,其输出的角位移或线位移与输入的脉冲数成正比,转速与脉冲频率成正比。步进电动机的结构形式和分类方法较多,一般按励磁方式分为磁阻式、永磁式和混磁式三种;按相数可分为单相、两相、三相和多相等形式。控制系统每发出一个步进脉冲信号,电机所转动的角度称为步距角,电机出厂时一般会随说明书给出一个电机固有步距角,如本项目所使用42BYG250型电机给出的值为0.9°/1.8°(表示半步工作时为0.9°、整步工作时为1.8°)是其固有步距角,注意它不一定是电机实际运行步距角,实际工作步距角和驱动器的细分数设置有关,电机固有步距角、细分数与电机实际运行步距角的关系如表9-1所示(以42BYG250电机为例)。2.步进电机驱动器的细分、运行拍数和步距角计算

步进电机细分就是将电机实际运行时步距角设置为固有步距角(整步)的几分之一。

从上表可以看出:驱动器工作在10细分状态时,其实际运行步距角为“电机固有步距角”的十分之一,也就是说:当驱动器工作在不细分的整步状态时,控制系统每发一个步进脉冲,电机转动1.8°,而用细分驱动器工作在10细分状态时,电机只转动了0.18°,这就是细分的作用。注意:细分功能完全是由驱动器靠精确控制电机的相电流所产生的,与电机无关.2.步进电机驱动器的细分、运行拍数和步距角计算电机固有步距角运行拍数驱动器细分数电机实际运行步距角0.9°/1.8°82细分即半步状态0.9°0.9°/1.8°205细分即半步状态0.36°0.9°/1.8°4010细分即半步状态0.18°0.9°/1.8°8020细分即半步状态0.09°0.9°/1.8°16040细分即半步状态0.045°表9-1固有步距角、细分数与电机实际运行步距角的关系

驱动器细分的优点:驱动器细分完全消除了电机的低频振荡。低频振荡是步进电机(尤其是反应式电机)的固有特性,而细分是消除它的唯一途径,如果步进电机在共振区工作(如走圆弧),选择细分驱动器是唯一的选择。细分相对于没有细分,输出转矩对各种电机都有不同程度的提升。提高了电机的分辨率、减小了步距角、提高了步距的均匀度。更为准确地描述驱动器细分特性的是运行拍数,运行拍数指步进电机运行时每转一个齿距所需的脉冲数。57BYG250电机有50个齿,如果运行拍数设置为160,那么步进电机旋转一圈总共需要50×160=8000步;对应步距角为360°÷8000=0.045°。注意:如果运行拍数设为30,按上表对应关系细分数为7.5,不是一个整数。2.步进电机驱动器的细分、运行拍数和步距角计算一般来说,在步进电机已经确认的情况下,主要根据电机的电流、细分和供电电压来选择驱动器。1)、确定电机所带负载所需的转矩,所选驱动器的转矩需满足电机使用。2)、确定所用步进电机的额定电流,选择与之配套的驱动器的最大电流不能低于电机的额定电流。因为一般驱动器的输出电流可以在一定范围内进行设置,选择的驱动器的输出电流如无法满足电机的额定电流,则电机有可能输出力矩不够。3)、确定电机的工作电压,驱动器的输出电压需在电机使用范围内,且需考虑步进电机在急刹车时,不能过压,即要预留一定电压空间防止反电动势。4)、相数必须相等,如电机是二相的,步距角就是1.8°,驱动器必须是二相的,如电机是三相的,步距角就是1.2°,驱动器也必须是三相的。3.步进电机驱动器5)、确认电机的最高转速,驱动器的最大转速不能低于电机的最高转速。6)、根据电机的工作环境和工作要求等确认所需的细分要求。一般来说,在确保控制器输出频率足够高的情况下,尽量使用高细分,电机运动会更加平稳,且控制精度也高。7)、驱动器的输入能源需符合电机使用场合的能源。本项目驱动器以HB202M为例,供电电源范围DC12~36V,最大支持2A相电流输出,H桥双极性PWM电流调制,具备多种细分模式。3.步进电机驱动器3.1驱动器输入输出端子HB202M驱动器输入输出端子介绍如表9-2所示:3.步进电机驱动器端子标记功能说明CP+步进脉冲信号正输入端光耦开通沿有效,最小脉宽2usCP-步进脉冲信号负输入端DIR+方向控制信号正输入端光耦关断时为正转,开通时反转DIR-方向控制信号负输入端FREE+脱机控制信号正输入端光耦开通时输出电流为0,电机无锁定转矩FREE-脱机控制信号负输入端POW电源指示电源正常时发光管亮(红)TIM相原点指示相原点时发光管亮AA相头输出

和电机相应的端子相连。其分别接红,兰、黑、绿/AA相尾输出BB相头输出/BB相尾输出+24V电源输入额定电压DC24V,2A0V电源输入表9-2HB202M驱动器输入输出端子注意:一般PLC输出电压为24V,而驱动器的输入内部光耦只能接受5V电压信号,所以在PLC的输出点与驱动器输入点连接需要串接合适阻值电阻(2kΩ、0.5w)。3.2驱动器信号、电流、细分设置步进电机驱动器信号、电流、细分设置一般通过驱动器上的拨码开关进行设置,HB202M驱动器拨码开关如图9-2所示。其功能如表9-3所示。3.步进电机驱动器图9-2HB202M拨码开关开关位置及功能开关状态备注DIP1(信号设置)0CP+/CP-为正转脉信号,DIR+/DIR-为反转脉冲信号1CP+/CP-为脉冲信号,DIR+/DIR-为方向信号(电平控制)DIP2\3\4(电流设置)输出峰值电流,单位A0002.000011.80101.60111.41001.21011.01100.81110.6DIP5\6\7\8细分设置(拍/齿)脉冲数/圈00002561280000012001000000101608000001112864000100100500001018040000110643200011150250010004020001001321600101025125010112010001100168001101105001110840011114200表9-3DIP拨码开关功能4.高速脉冲输出和高速计数器4.1高速脉冲输出S7-1200PLC有4个PTO/PWM发生器,脉冲输出(PTO)模式提供占空比50%的方波输出,脉冲宽度调制(PWM)模式提供连续的脉冲宽度可程序调节的脉冲输出信号。4个PTO/PWM发生器可以通过CPU集成的Q0.0~Q0.7或信号板Q4.0~Q4.3输出信号(注意:满足高速脉冲输出的必须是晶体管输出类型CPU)。设备组态过程详见项目实施过程。4.高速脉冲输出和高速计数器4.2高速计数器普通计数器指令受PLC扫描周期的影响,最高计数频率小于扫描频率的二分之一。实际项目中如需进行高频计数,必须采用高速技术指令实现。S7-1200PLC最多集成6个高速计数器HSC1~HSC6(实际计数值类型为Dint,默认地址为ID1000~ID1020)。高速计数器有4种工作模式:内部方向控制的单相计数器、外部方向控制的单相计数器、两路脉冲输入的双相计数器、AB相正交计数器。高速计数器描述及输入点地址如表9-4所示。4.高速脉冲输出和高速计数器描述默认的输入点地址功能HSCHSC1I0.0或I4.0,监控PTO0脉冲I0.1或I4.1,监控PTO0方向I0.3

HSC2I0.2,监控PTO1脉冲I0.3,监控PTO1方向I0.1

HSC3I0.4I0.5I0.7

HSC4I0.6I0.7I0.5

HSC5I1.0或I4.0I1.1或I4.1I1.2

HSC6I1.3

I1.5

工作模式内部方向控制的单相计数器计数脉冲

计数复位计数或测频外部方向控制的单相计数器计数脉冲方向计数复位计数或测频两路脉冲输入的双相计数器加计数脉冲减计数脉冲计数复位计数或测频AB相正交计数器A相脉冲B相脉冲Z相脉冲计数或测频监控PTO计数脉冲方向

计数表9-4高速计数器描述及输入点地址4.2高速计数器4.高速脉冲输出和高速计数器高速计数器组态:1)打开设备组态窗口,在CPU属性中选择其中一高速计数器,如“HSC1”;2)在“常规”栏中,勾选“启用该高速计数器”,如图9-3所示;3)在“功能”栏中,可以设置计数器的类型为“计数”、“频率”或“轴”,如图9-4所示;4)在“初始值”区中,可以设置初始计数值和初始参考值,如图9-5所示;5)在“同步输入”区中,若启用“使用外部同步输入”,则同步输入的信号电平可以选择“高电平有效”或“低电平有效”,如图9-6所示;6)在“事件组态”栏中,可以启用“为计数器值等于参考值这一事件生成中断”“为同步事件生成中断”“为方向变化事件生成中断”,如图9-7所示;7)设定输入起始地址,系统提供默认值,如图9-8所示。4.2高速计数器4.高速脉冲输出和高速计数器图9-3选择并启用高速计数器4.2高速计数器图9-4高速计数器的功能设置4.高速脉冲输出和高速计数器图9-5初始值设置4.2高速计数器图9-6同步输入设置4.高速脉冲输出和高速计数器图9-7事件组态设置4.2高速计数器图9-8设定输入地址4.高速脉冲输出和高速计数器4.3高速计数器指令符合及其参数高速计数器指令符号如图9-9所示(注意:先在设备组态中先设置高速计数器,才能在程序中使用高速计数器指令),设置HSC设备配置包括选择计数模式、输入输出连接、中断分配、是否作为高速计数器还是作为设备来测量脉冲频率,高速计数器指令各参数功能说明如表9-5所示。图9-9高速计数器指令符号4.高速脉冲输出和高速计数器4.3高速计数器指令符合及其参数表9-5高速计数器指令各参数功能说明参数参数类型数据类型说明HSCINHW_HSC高速计数器硬件标识符DIRINBool1=使能新方向请求CVINBool1=使能新的计数器值RVINBool1=使能新的参考值PERIODINBool1=使能新的频率测量周期值(频率测量模式)NEW_DIRINInt新方向:1=正方向-1=反方向NEW_CVINDInt新计数器值NEW_RVINDInt新参考值NEW_PERIODINInt以秒为单位的新的频率测量周期值:0.01、0.1或1(频率测量模式)BUSYOUTBool功能忙STATUSOUTWord执行条件代码4.高速脉冲输出和高速计数器4.3高速计数器指令符合及其参数例:用高速脉冲输出功能产生周期为8ms、占空比50%的PWM信号,送给高速计数器HSC1,当计数值达到1000时,使Q1.0取反,并且使计数器值复位为0,使Q1.0再次取反,如此循环,则Q1.0产生周期为8s、占空比为50%的方波。CPU选用1215CDC/DC/DC,硬件连接:用CPU内置电源,L+与输出端电压3L+连接,Q0.0接I0.0,电压公共端M与输入公共端1M、输出公共端3M连接。4.高速脉冲输出和高速计数器4.3高速计数器指令符合及其参数(1)组态PWM1,设置时基为毫秒,循环时间为8ms,初始脉冲宽度为50%,硬件标识符为265,如图9-10所示;图9-10脉冲发生器参数分配4.高速脉冲输出和高速计数器4.3高速计数器指令符合及其参数(2)主程序OB1用I1.0激活脉冲发生器,如图9-11所示;图9-11主程序OB14.高速脉冲输出和高速计数器4.3高速计数器指令符合及其参数(3)组态高速计数器HSC1:单相计数,数据方向为内部方向控制,初始方向计数为加计数,初始值为0,参考值1000,计数值等于参考值激发中断,起始地址为1000,硬件标识符为257;(4)插入一个硬件中断程序OB40如图9-12所示,并设置HSC1的硬件中断为0B40如图9-13所示,OB40程序如图9-14所示;图9-12新建硬件中断OB40图9-13设置HSC1的硬件中断为0B404.高速脉冲输出和高速计数器4.3高速计数器指令符合及其参数图9-140B40硬件中断程序5.伺服系统

伺服系统又称随动系统,用来精确地跟随或复现某个过程的反馈控制系统。伺服系统使物体的位置、速度、状态等输出被控量能够跟随输入给定值的任意变化的自动控制系统,伺服系统一般由控制器、被控对象、执行环节、检测环节、比较环节等部分构成。

伺服电机又称执行电机,其主要特点是当信号电压为零时无自转现象,转速随着转矩的增加而匀速下降。伺服电机一般分为交流伺服电机和直流伺服电机。交流伺服电机工作原理:内部转子由永磁体构成,根据驱动器控制的U/V/W三相电形成电磁场,转子在磁场作用下转动,同时电机自带编码器反馈信号给驱动器,驱动器将反馈值与目标值进行比较,调整转子的角度,其精度取决于编码器的精度。伺服驱动器工作原理如图9-15所示。5.伺服系统图9-15伺服控制器工作原理5.伺服系统

伺服系统的控制方式分为位置控制、速度控制、转矩控制。位置控制:电机带动负载从位置A到位置B,或角度α到β,包含电流环、速度环、位置环,位置控制示意图如图9-16所示。图9-16位置控制5.伺服系统速度控制:电机带动负载以非常稳定的速度旋转(调速范围宽,低速性能好),包含电流环、速度环。其示意图如图9-17所示。图9-17速度控制5.伺服系统转矩控制:电机以一定的转矩运转,仅包含电流环。其示意图如图9-18所示。图9-18转矩控制5.伺服系统运动控制常用术语:(1)原点回零:建立机械和运动轴之间的基础原点的对应关系(注意:使用增量式编码器在每次上电时编码器与轴的机械位置之间没有确定的关系,所以轴在每次上电后都要重新回零。使用绝对值编码器只需要进行一次编码器校准即可,以后断电再上电不需要重新回零);(2)绝对定位:目标偏移原点的距离(在进行绝对定位之前必须进行原点回零);(3)相对定位:目标偏移当前点的距离(在进行相对定位之前可以不用进行原点回零);(4)点动JOG:给定点动速度或距离,手动操作伺服电机动作;(5)软件限位/硬件限位:软件限位及硬件限位可以限制轴的运行范围(在激活软限位后,如果轴的实际运行位置达到了软限位的设定值,则轴会停止运行并产生报警。在激活硬限位功能后,如果达到硬限位信号之后,则轴会停止运行并产生故障)。5.伺服系统运动控制常用术语:(6)电子齿轮比:控制行为是将PLC送来的脉冲数乘以电子齿轮比,用所得的结果与编码器的反馈脉冲数进行比较产生的,例如设置电子齿轮比为2,则PLC送来1个脉冲,电动机就会转动对应编码器2个反馈脉冲数的角度。对于PN版本,需要在V_ASSISTANT中“设置机械结构”中“设置齿轮箱系数”以及“设置负载转动一圈对应的长度单位”。5.伺服系统

因总线控制方式的伺服驱动器广泛应用,本项目采用西门子V90(PROFINET版本)伺服驱动器及其配套伺服电机(注:V90不能使用第三方伺服电机),其外形如图9-19所示,西门子V90伺服有PTI版本和PROFINET两种版本,其控制模式及常用功能如表9-6所示。图9-19西门子V90伺服电机与伺服驱动器(左PTI,右PN)5.伺服系统

PTI版PROFINET版控制模式外部脉冲位置控制

内部位置控制基本定位器控制EPOS速度控制S速度控制S转矩控制T

复合控制模式

接口功能RS485接口,支持ModbusRTU/USS通信RJ45接口,支持PROFINET通信脉冲输入(PTI)

模拟量输入输出

编码器脉冲输出(PTO)

10个数字量输入/6个数字量输出4个数字量输入/2个数字量输出电机抱闸信号输出(仅限200V)电机抱闸信号输出(仅限200V)表9-6V90控制模式及常用功能5.伺服系统

编码器是将信号(如比特流)或数据进行编制、转换为可用以通讯、传输和存储的信号形式的设备。编码器把角位移或直线位移转换成电信号,前者称为码盘,后者称为码尺。按照读出方式编码器可以分为接触式和非接触式两种;按照工作原理编码器可分为增量式和绝对式两类。增量式编码器是将位移转换成周期性的电信号,再把这个电信号转变成计数脉冲,用脉冲的个数表示位移的大小。绝对式编码器的每一个位置对应一个确定的数字码,因此它的示值只与测量的起始和终止位置有关,而与测量的中间过程无关。其外形图如图9-20所示。图9-20编码器6.步进电机与伺服电机的区别

步进电机与伺服电机根据型号的不同其参数也不同,因根据实际应用场合的具体要求选择合适的驱动系统,其区别如表9-7所示。

步进电机伺服电机控制精度相数和排数越多,精确度越高。取决于自带的编码器,编码器刻度越多,精度越高。低频特性在低速时易出现低频振动现象,当步进电机工作在低速时,一般采用细分技术来克服低频振动。交流伺服电机运行非常平稳,在低速时也不会出现振动现象。矩频特性输出力矩随转速升高而下降,且在较高转速时会急剧下降。恒力矩输出,在其额定转速以内都能输出额定转矩。过载能力不具有过载能力。有较强过载能力。响应性能从静止加速到工作转速需要200-400毫秒。加速性能较好,可用于要求快速启停的控制场合。运行性能开环控制,启动频率过高负载过大易出现丢步或堵转现象,停止时转速过高易出现过冲现象。闭环控制,具有电流环、速度环、位置环,一般不会出现丢步或过冲现象。表9-7步进电机与伺服电机区别3412项目背景及控制分析相关知识项目实施项目考核项目九运动控制系统设计提升篇1.I/O分配表

本项目需要接入三个限位开关,分别对应原点、左限位、右限位,PLC的数字量输出为一个方向控制信号和一个脉冲信号(注意:因步进电机驱动器需要接收高速脉冲信号,1200CPU只能选择晶体管类型输出)数字量输入数字量输出符号地址功能说明符号地址功能说明SW0I0.0原点CP+Q0.0步进脉冲信号正输入端SQ0I0.1左限位DIR+Q0.1方向控制信号正输入端SQ2I0.2右限位

表9-8步进电机控制I/O分配表2.PLC接线图注意:部分型号步进电机驱动器脉冲和方向信号与PLC连接时需要接入限流电阻,当驱动器与PLC均独立供电时需将24V电源负极等电位连接。梯形图编写3.实施步骤及编程(速度控制)采用PTO控制方式,该控制方式由CPU向轴驱动器发送高速脉冲信号(以及方向信号)来控制轴的运行。这种控制方式是开环控制。驱动器DIP开关设置(10001011),信号设置CP+/CP-为脉冲信号,DIR+/DIR-为方向信号(电平控制),输出电流:1.2A,细分:20拍/齿。CPU属性设置详细步骤见4.1、4.2。速度控制不需要配置轴工艺。梯形图编写4.实施步骤及编程(位置控制)4.1在CPU属性中选择“启用该脉冲发生器”,如图9-23所示;梯形图编写4.实施步骤及编程(位置控制)4.2信号类型选择PTO(脉冲A和方向B),脉冲输出选择Q0.0,选择启用方向输出,方向输出选择Q0.1。如图9-24所示;梯形图编写4.实施步骤及编程(位置控制)4.3新增工艺对象,选择“运动控制”,“TO_PositioningAxis”,如图9-25所示;梯形图编写4.实施步骤及编程(位置控制)4.4驱动器选择PTO模式,如图9-26所示;梯形图编写4.实施步骤及编程(位置控制)4.5硬件接口中选择脉冲发生器“Pulse_1”,信号类型“PTO(脉冲A和方向B)”,脉冲输出“轴_1脉冲Q0.0”,激活方向输出“轴_1方向Q0.1”,如图9-27所示;梯形图编写4.实施步骤及编程(位置控制)4.6机械设置,电机每转的脉冲数“1250,电机每转的负载位移“10.0”,(注意:电机每转的脉冲数应与驱动器设置相同,每转的负载位移应与机械结构一致)如图9-28所示;梯形图编写4.实施步骤及编程(位置控制)4.7位置限制设置,启用硬限位开关并对硬件下限位和上限位开关输入进行设置,需与实际电气连接一致,电平选择高电平(注意:硬件限位开关有信号时为低电平),如图9-29所示;梯形图编写4.实施步骤及编程(位置控制)4.8常规选项中设置“速度限制单位”、“最大转速”、“启动停止速度”、“加速度”、“减速度”,如图9-30所示;梯形图编写4.实施步骤及编程(位置控制)4.9急停选项中设置“最大转速”、“启动停止速度”、“紧急减速时间”、“急停减速时间”,如图9-31所示;梯形图编写4.实施步骤及编程(位置控制)4.10回原点选项中选择“主动”回原点,需要设置“归位开关数字量输入”,这里选择I0.0,选择高电平。“接近/回原点方向”选择正方向,归位开关一侧选择下侧。如图9-32所示;梯形图编写4.实施步骤及编程(位置控制)4.11驱动器拨码开关设置为10001011,CP+/CP-为脉冲信号,DIR+/DIR-为方向信号(电平控制),输出峰值电流2A,细分设置25,脉冲设置1250个脉冲一圈。梯形图编写4.实施步骤及编程(位置控制)4.12梯形图编写如图9-33所示。1.I/O分配表本项目采用EPOS模式进行控制,在EPOS模式下,将参考点挡块输入信号(回零开关)连接到功能块管脚ConfigEPosbit6,回零开关信号通过PLC的I0.0传送给FB284再通过111报文传送给驱动器。而对于极限开关需要在V90PN驱动器中进行配置,并且连接至驱动器端。(注意:在组态工艺对象(TO)模式下,回零开关信号在工艺对象(TO)中配置,所以回零开关信号必须连接至PLC端。而对于极限开关同样在工艺对象(TO)中配置,所以极限开关信号也必须连接至PLC端。)其IO分配表如表9-101.I/O分配表PLC数字量输入V90数字量输入符号地址功能说明符号地址功能说明SQ0I0.0原点

DI4分配为EMGS

CWLDI1左硬限位开关

CCWLDI2右硬限位开关2.电气接线原理图3.实施步骤及编程3.1配置V-Assistant(建议使用V1.07以上版本,支持调试电脑通过网线连接

V90PN端口的调试方式)。1.将调试电脑与V90PN通过网线连接,双击运行V-Assistant,选择“Ethernet连接”,如图9-35所示;3.实施步骤及编程2.选中V90,点击“设备信息”,在此项中设置“设备名”,“IP地址”及“子网掩码”(设备名与IP地址需与博途中保持一致),点击“设置”后进入设备调试。如图9-36所示;3.实施步骤及编程3.进入设备调试后,在“选择驱动”选项中可以看到驱动器及电机类型,在控制模式中选择“基本定位控制(EPOS)”。如图9-37所示。3.实施步骤及编程4.在“设置机械结构中”,根据实际执行机构“设置齿轮箱系数”以及“设置负载转动一圈对应的长度单位”。如图9-38所示。3.实施步骤及编程5.在设置参数中“配置输入/输出”,将数字量输入“CWL”分配给“DI1”,“CCWL”分配给“DI2”,“EMGS”分配给“DI4”(注意:此处设置需与电气原理图对应)。如图9-39所示;3.实施步骤及编程6.本项目采用通过参考点挡块(回零开关)及编码器零脉冲回零,配置回零参数中“回参考点方式”选择“1:参考点挡块(REF)及编码器零脉冲”方式。如图9-40所示;3.实施步骤及编程(2)博途配置1在项目中添加CPU以及西门子V90_PN。2

在网络视图中将CPU与V90_PN进行连接,并进行设备名称、IP地址设置。3.实施步骤及编程(2)博途配置3单击选中“西门子V90_PN”,在“设备概览”中添加“西门子111,PZD-12/12”报文驱动。4

要使用“FB284”进行EPOS基本定位控制,需要提前下载FB284库文件,本书附带资料中包含Drive_Lib_V62_S7_1200_1500库文件,也可到西门子官方网站下载。库文件安装需要选择全局库,选择“打开全局库”。3.实施步骤及编程(2)博途配置5当将低版本库文件导入到高版本博途中会提示需要升级,单击“升级”。6

导入成功后在全局库中“Drive_Lib_V62_S7_1200_1500”即可找到FB284的函数块“SINA_POS”,梯形图编程直接拖入程序中即可使用。3.实施步骤及编程(3)梯形图编写①速度/增量点动(速度方式点动ModePos=7,增量方式点动ModePos=8)设置,其点动速度和增量在V-Assistant中设置。点动速度/增量设置如图9-18所示。3.实施步骤及编程(3)梯形图编写②速度/增量点动梯形图如图9-19所示,在进行点动时需要将“轴使能”置为1,“Jog1”\“Jog2”置位即可进行轴正向点动和轴负向点动。3.实施步骤及编程(3)梯形图编写③主动回零,回零编程步骤如下。主动回零梯形图如图9-20所示。1)设置FB284工作模式:ModePos=4。2)将参考点挡块输入信号(回零开关)连接到功能块管脚ConfigEPosbit6。3)设置EnableAxis=1使能轴。4)设置ExecuteMode=1执行回参考点运行,此时轴开始回零运行。3.实施步骤及编程(3)梯形图编写④相对/绝对定位(相对定位ModePos=1,绝对定位ModePos=2)(注意:做绝对定位之前,轴必须已经回参考点)。相对/绝对定位步骤如表9-24所示,相对/绝对定位梯形图如图9-21所示。表9-24相对/绝对定位步骤3.实施步骤及编程(3)梯形图编写图9-21相对/绝对定位定位梯形图3412项目背景及控制分析相关知识项目实施项目考核项目九运动控制系统设计提升篇步进电机考核表项目内容评分标准具体配分获得分值一、硬件设计(30分)1.I/O分配表(10分)正确分配I/O并正确接线速度控制模式I/O分配4分

位置控制模式I/O分配4分

步进驱动器拨码开关设置是否正确拨码开关设置正确2分

总分

2.电气原理图设计(20分)PLC与驱动器电气连接PLC与驱动器电气连接正确得8分

驱动器与步进电机电气连接驱动器与步进电机电气连接正确得8分

供电电源设计(独立供电是否进行等电位设计)独立电源进行了等电位设计或驱动器与PLC共用电源得4分

总分

二、软件设计及实操(60分)1.速度控制(10分)电机能正常运转并可进行速度设置速度控制正确10分

总分

2.位置控制(50分)电机能进行点动控制点动正常10分

电机能进行相对运动控制相对运动正常10分

电机能进行绝对运动控制绝对运动正常10分

电机能进行回零点控制回零点正常20分

总分

三、职业与安全意识10分1.操作符合安全操作规程(3分)

2.工具摆放、物品处理符合职业岗位规范要求(2分)

3.遵守课堂纪律(2分)

4.爱惜实训室的设备和器材,保持工位的干净整洁(3分)

总分100分

项目调试记录收获与反思伺服电机考核表项目内容评分标准具体配分获得分值一、硬件设计(30分)1.(40分)正确分配I/O并将限位开关与驱动器、PLC正确接线限位开关正确接线10分

驱动器、电源、通信线等30分

ASSISTANT设置是否正确ASSISTANT正确设置

总分

2.电气原理图设计(10分)PLC与驱动器电气连接PLC与驱动器电气连接正确得5分

驱动器与伺服电机电气连接驱动器与伺服电机电气连接正确得5分

总分

二、软件设计及实操(60分)1.速度控制(10分)电机能正常运转并可进行速度设置速度控制正确10分

总分

2.位置控制(30分)电机能进行速度/增量点动控制点动正常5分

电机能进行相对运动控制相对运动正常10分

电机能进行绝对运动控制绝对运动正常5分

电机能进行回零点控制回零点正常10分

总分

三、职业与安全意识10分1.操作符合安全操作规程(3分)

2.工具摆放、物品处理符合职业岗位规范要求(2分)

3.遵守课堂纪律(2分)

4.爱惜实训室的设备和器材,保持工位的干净整洁(3分)

总分100分

项目调试记录收获与反思谢谢观看PLC应用技术项目教程10S7-1200PLC通信系统设计提升篇知识目标2掌握S7-1200的S7通信1掌握点对点通信相关基本概念能力目标2能够使用ModbusTCP通信进行S7-1200与蓝普峰PLC、S7-1200与信捷PLC之间进行通信1能够使用S7通信进行S7-1200PLC之间传输数据、S7-1200PLC与smart200PLC之间传输数据项目十

S7-1200PLC通信系统设计提升篇3掌握ModbusTCP、ModbusRTU通信能够使用ModbusRTU通信进行S7-1200与信捷VB5N变频器之间进行通信素质目标1通过通讯学习培养细致严谨的工作习惯项目学思1通信的过程实际上就是数据在不同设备之间进行数据交换的过程,只要双方遵守相同的通信协议就能够进行建立通信,通过通信协议的介绍引出工作中互相合作的重要性,合作双方均有诚信,互惠互利、才能达成合作共赢。项目十

S7-1200PLC通信系统设计基础篇2通过通讯设置培养细心的工作态度3412项目背景及控制分析相关知识项目实施项目考核项目十

S7-1200PLC通信系统设计基础篇项目背景

大型工厂运行中往往是很多智能控制设备进行配合完成复杂工艺生产过程,整个过程设备与设备之间需要进行实时通信以交换数据。不同的设备厂商使用的主控PLC品牌型号不尽相同,相互通信交换数据就需要双方PLC遵循同一个通信协议。

通信组网

互联工业控制分析本项目选取西门子S7通信协议、Modbus进行讲解1.S7-1200与S7-1200之间的S7通信;2.S7-1200与smart200之间的S7通信;3.S7-1200与蓝普锋PLC之间的ModbusTCP通信;4.S7-1200与信捷PLC之间的ModbusTCP通信;5.S7-1200与信捷VH5变频器之间进行ModbusRTU通信。3412项目背景及控制分析相关知识项目实施项目考核项目十

S7-1200PLC通信系统设计提升篇S7协议1Modbus协议21.S7协议

S7协议是专门为西门子控制产品优化设计的通信协议,它是面向连接的协议,在进行数据交换之前,必须与通信伙伴建立连接,面向连接的协议具有较高的安全性。单向连接中的客户端(Client)是向服务器端(Server)请求服务设备,客户端调用GET/PUT指令读写服务器端的存储区。服务器是通信中的被动方,用户不用编写服务器的S7通信程序,服务器端的操作系统完成S7通信。客户端可以读写服务器端的存储区内容,这样的单向连接实际上可以完成双向传输数据。V2.0及以上版本的S7-1200CPU的PROFINET通信口可以作为S7通信服务器端或客户端。1.S7协议

(1)GET指令:从服务器端CPU读取数据在控制输入REQ的上升沿启动指令:要读出的区域的相关指针(ADDR_i)随后会发送给伙伴CPU(注:伙伴CPU则可以处于RUN模式或STOP模式)。伙伴CPU返回数据:如果回复超出最大用户数据长度,那么将在STATUS参数处显示错误代码“2”,下次调用时,会将所接收到的数据复制到已组态的接收区(RD_i)中。如果状态参数NDR的值变为“1”,则表示该动作已经完成。只有在前一读取过程已经结束之后,才可以再次激活读取功能。如果读取数据时访问出错,或如果未通过数据类型检查,则会通过ERROR和STATUS输出错误和警告。“GET”指令不会记录伙伴CPU上所寻址到的数据区域中的变化。1.S7协议使用指令的要求:1)已在伙伴CPU属性的“保护”(Protection)保护中激活“允许借助PUT/GET通信从远程伙伴访问”(PermitaccesswithPUT/GETcommunicationfromremotepartner)函数。2)使用“GET”指令访问的块是通过访问类型“标准”创建的。3)请确保由参数ADDR_i和SD_i定义的区域在数量、长度和数据类型等方面都匹配。4)待读取的区域(ADDR_i参数)不能大于存储数据的区域(RD_i参数)。GET指令如图11-1所示,GET指令参数如表10-1所示。1.S7协议参数声明数据类型存储区说明REQInputBOOLI\Q\M\D\L或常量控制参数request,在上升沿时激活数据交换功能。IDInputWORDI\Q\M\D\L或常量用于指定与伙伴CPU连接的寻址参数。NDROutputBOOLI\Q\M\D\L状态参数NDR:0:作业尚未开始或仍在运行。1:作业已成功完成。ERROROutputBOOLI\Q\M\D\L状态参数ERROR和STATUS,错误代码:ERROR=0STATUS的值为:0000H:既无警告也无错误<>0000H:警告,详细信息请参见STATUSERROR=1出错。STATUS提供了有关错误类型的详细信息。STATUSOutputWORDI\Q\M\D\LADDR_1InOutREMOTEI\Q\M\D指向伙伴CPU上待读取区域的指针。指针REMOTE访问某个数据块时,必须始终指定该数据块。示例:P#DB10.DBX5.0字节10。ADDR_2InOutREMOTEADDR_3InOutREMOTEADDR_4InOutREMOTERD_1InOutVARIANTI\Q\M\D\L指向本地CPU上用于输入已读数据的区域的指针。RD_2InOutVARIANTRD_3InOutVARIANTRD_4InOutVARIANT1.S7协议(2)PUT指令:将数据写入服务器端CPU在控制输入REQ的上升沿启动指令:写入区指针(ADDR_i)和数据(SD_i)随后会发送给伙伴CPU(注:伙伴CPU则可以处于RUN模式或STOP模式)。从已组态的发送区域中((SD_i)复制了待发送的数据。伙伴CPU将发送的数据保存在该数据提供的地址之中,并返回一个执行应答。如果没有出现错误,下一次指令调用时会使用状态参数DONE="1"来进行标识。上一作业已经结束之后,才可以再次激活写入过程。如果写入数据时访问出错,或如果未通过执行检查,则会通过ERROR和STATUS输出错误和警告。1.S7协议使用指令的要求:1)已在伙伴CPU属性的“保护”(Protection)保护中激活“允许借助PUT/GET通信从远程伙伴访问”(PermitaccesswithPUT/GETcommunicationfromremotepartner)函数。2)使用“PUT”指令访问的块是通过访问类型“标准”创建的。3)确保由参数ADDR_i和SD_i定义的区域在数量、长度和数据类型等方面都匹配。4)待写入区域(ADDR_i参数)必须与发送区域(SD_i参数)一样大。1.S7协议参数声明数据类型存储区说明REQInputBOOLI\Q\M\D\L或常量控制参数request,在上升沿时激活数据交换功能。IDInputWORDI\Q\M\D\L或常量用于指定与伙伴CPU连接的寻址参数。DONEOutputBOOLI\Q\M\D\L状态参数DONE:0:作业未启动,或者仍在执行之中1:作业已执行,且无任何错误。ERROROutputBOOLI\Q\M\D\L状态参数ERROR和STATUS,错误代码:ERROR=0STATUS的值为:0000H:既无警告也无错误<>0000H:警告,详细信息请参见STATUS。ERROR=1出错,有关该错误类型的详细信息,请参见STATUS。STATUSOutputWORDI\Q\M\D\LADDR_1InOutREMOTEI\Q\M\D指向伙伴CPU上用于写入数据的区域的指针。指针REMOTE访问某个数据块时,必须始终指定该数据块。示例:P#DB10.DBX5.0字节10。传送数据结构(例如Struct)时,参数ADDR_i处必须使用数据类型CHAR。ADDR_2InOutREMOTEADDR_3InOutREMOTEADDR_4InOutREMOTERD_1InOutVARIANTI\Q\M\D\L指向本地CPU上包含要发送数据的区域的指针。仅支持BOOL、BYTE、CHAR、WORD、INT、DWORD、DINT和REAL数据类型。传送数据结构(例如Struct)时,参数SD_i处必须使用数据类型CHAR。RD_2InOutVARIANTRD_3InOutVARIANTRD_4InOutVARIANT2.Modbus协议2.1Modbus-TCP采用Modbus-TCP通信可以使用的指令为MB_CLIENT、MB_SERVER。(1)MB_CLIENT指令“MB_CLIENT”指令作为ModbusTCP客户端通过PROFINET连接进行通信。通过“MB_CLIENT”指令,可以在客户端和服务器之间建立连接、发送Modbus请求、接收响应并控制ModbusTCP客户端的连接终端。S7-1200固件版本V4.0支持“MB_CLIENT”指令和最高V3.1版本的库。S7-1200固件版本V4.1及更高版本和S7-1500,支持“MB_CLIENT”指令的所有库版本。可通过CPU或CM/CP的本地接口建立连接.使用该指令时,无需其它任何硬件模块。ModbusTCP客户端可以支持多个TCP连接,连接的最大数目取决于所使用的CPU。一个CPU的总连接数,包括ModbusTCP客户端和服务器的连接数,不能超过所支持的最大连接数。ModbusTCP连接还可由“MB_CLIENT”和/或“MB_SERVER”实例共用。2.Modbus协议使用各客户端连接时需遵循一下规则:1)每个“MB_CLIENT”连接都必须使用唯一的背景数据块。2)对于每个“MB_CLIENT”连接,必须指定唯一的服务器IP地址。3)每个“MB_CLIENT”连接都需要一个唯一的连接ID。该指令的各背景数据块都必须使用各自相应的连接ID。连接ID与背景数据块组合成对,对每个连接,组合对都必须唯一。4)根据服务器组态,可能需要或不需要IP端口的唯一编号。MB_CLIENT指令如图11-3所示,PUT指令参数如表10-3所示。2.Modbus协议参数声明数据类型说明REQInputBOOL对ModbusTCP服务的Modbus查询REQ参数受到等级控制。这意味着只要设置了输入(REQ=true),指令就会发送通信请求。Modbus查询开始后,背景数据块将锁定,其它客户端无法使用。在服务器进行响应或输出错误消息之前,对输入参数的更改不会生效。如果在请求期间再次设置了参数REQ,此后将不会进行任何其它传输。DISCONNECTInputBOOL通过该参数,可以控制与Modbus服务器建立和终止连接:0:与通过CONNECT参数组态的连接伙伴(请参见CONNECT参数)建立通信连接。1:断开通信连接。在终止连接的过程中,不执行任何其它功能。成功终止连接后,STATUS参数将输出值0003。而如果在建立连接的过程中设置了参数REQ,将立即发送Modbus请求。MB_MODEInputUSINT选择Modbus的请求模式(读取、写入或诊断)或直接选择Modbus功能MB_DATA_ADDRInputUDINT取决于MB_MODEMB_DATA_LENInputUINT数据长度:数据访问的位数或字数(参见“”)。MB_DATA_PTRInOutVARIANT指向待从Modbus服务器接收数据的数据缓冲区或指向待发送到Modbus服务器的数据所在数据缓冲区的指针。CONNECTInOutVARIANT指向连接描述结构的指针可以使用以下结构(系统数据类型):TCON_IP_v4:包括建立指定连接时所需的所有地址参数。使用TCON_IP_v4时,可通过调用指令“MB_CLIENT”建立连接。TCON_Configured:包括所组态连接的地址参数。使用TCON_Configured时,将使用下载硬件配置后由CPU创建的已有连接。DONEOutBOOL如果最后一个Modbus作业成功完成,则输出参数DONE中的该位将立即置位为“1”。BUSYOutBOOL0:无Modbus请求在进行中1:正在处理Modbus请求在建立和终止连接期间,不会设置输出参数BUSY。ERROROutBOOL0:无错误1:出错。出错原因由参数STATUS指示。OutWORD指令的详细状态信息。2.Modbus协议(2)MB_SERVER指令“MB_SERVER”指令作为ModbusTCP服务器通过PROFINET连接进行通信。“MB_SERVER”指令将处理ModbusTCP客户端的连接请求、接收并处理Modbus请求并发送响应。S7-1200固件版本V4.0支持“MB_SERVER”指令和最高V3.1版本的库。S7-1200固件版本V4.1及更高版本和S7-1500,支持“MB_SERVER”指令的所有库版本。可通过CPU或CM/CP的本地接口建立连接。使用该指令时,无需其它任何硬件模块。可以创建多个服务器连接。这允许一个单独CPU能够同时接受来自多个ModbusTCP客户端的连接。ModbusTCP服务器可以支持多个TCP连接,连接的最大数目取决于所使用的CPU。一个CPU的总连接数,包括ModbusTCP客户端和服务器的连接数,不能超过所支持的最大连接数。ModbusTCP连接还可由“MB_CLIENT”和/或“MB_SERVER”实例共用。2.Modbus协议连接服务器时,需遵循以下规则:1)每个“MB_SERVER”连接都必须使用唯一的背景数据块。2)每个“MB_SERVER”连接都必须使用唯一的连接ID。3)该指令的各背景数据块都必须使用各自相应的连接ID。连接ID与背景数据块组合成对,对每个连接,组合对都必须唯一。4)对于每个连接,都必须单独调用“MB_SERVER”指令。2.Modbus协议参数声明数据类型说明DISCONNECTInputBOOL“MB_SERVER”指令建立与一个伙伴模块的被动连接。服务器会响应在CONNECT参数的SDT“TCON_IP_v4”中输入的IP地址的连接请求。接受一个连接请求后,可以使用该参数进行控制:0:在无通信连接时建立被动连接。1:终止连接初始化。如果已置位该输入,那么不会执行其它操作。成功终止连接后,STATUS参数将输出值0003。MB_HOLD_REGInOutVARIANT指向“MB_SERVER”指令中Modbus保持性寄存器的指针MB_HOLD_REG引用的存储区必须大于两个字节。保持性寄存器中包含Modbus客户端通过Modbus功能3(读取)、6(写入)、16(多次写入)和23(在一个作业中读写)可访问的值。作为保持性寄存器,可以使用具有优化访问权限的全局数据块,也可以使用位存储器的存储区。CONNECTInOutVARIANT指向连接描述结构的指针可以使用下列结构(SDT):TCON_IP_v4:包括建立指定连接时所需的所有地址参数。默认地址为0.0.0.0(任何IP地址),但也可输入具体IP地址,以便服务器仅响应来自该地址的请求。使用TCON_IP_v4时,可通过调用指令“MB_SERVER”建立连接。TCON_Configured(仅限S7-1500):包括所组态连接的地址参数。使用TCON_Configured时,会在下载硬件配置后由CPU建立连接。NDROutputBOOL“NewDataReady”:0:无新数据1:从Modbus客户端写入的新数据DROutputBOOL“DataRead”:0:未读取数据1:从Modbus客户端读取的数据ERROROutputBOOL如果在调用“MB_SERVER”指令过程中出错,则将ERROR参数的输出设置为“1”。有关错误原因的详细信息,将由STATUS参数指定。OutputWORD指令的详细状态信息。2.Modbus协议(3)将Modbus地址映射到过程映像“MB_SERVER”指令允许到达的Modbus功能(1、2、4、5和15)直接读取和写入访问CPU的过程映像输入和输出(使用数据类型BOOL和WORD)。对于S7-1200-CPU,输入和输出过程映像的地址空间为1KB;对于S7-1500CPU,为32KB。Modbus功能的地址空间如表10-5所示。Modbus功能功能代码功能数据区地址空间01读取:位Output0至6553502读取:位Input0至6553504读取:WORDInput0至6553505写入:位Output0至6553515写入:位Output0至655352.Modbus协议“MB_SERVER”指令支持的所有Modbus功能如表10-6所示。功能代码说明01读取输出位02读取输入位03读取保持性寄存器04读取输入字05写入输出位06写入保持性寄存器08诊断功能:回送测试(子功能0x0000):“MB_SERVER”指令接收数据字并按原样返回Modbus客户端。复位事件计数器(子功能0x000A):使用指令“MB_SERVER”,可复位以下事件计数器:“Success_Count”、“Xmt_Rcv_Count”、“Exception_Count”、“Server_Message_Count”和“Request_Count”。11诊断功能:获取通信的事件计数器“MB_SERVER”指令使用一个通信的内部事件计数器,记录发送到Modbus服务器上成功执行的读写请求数。执行功能8或11时,事件计数器不会递增。这种情况同样适用于会导致通信错误的请求。例如,发生协议错误(如,不支持所接收Modbus请求中的功能代码)。15写入多个输出位16写入保持性寄存器23通过请求写入和读取保持性寄存器2.Modbus协议2.2Modbus-RTU采用Modbus-RTU通信可以使用的指令为Modbus_Comm_Load、Modbus_Master、Modbus_Slave。(1)Modbus_Comm_Load指令Modbus_Comm_Load指令可组态用于ModbusRTU协议通信的SIPLUSI/O或PtP端口。ModbusRTU端口硬件选项:最多安装三个CM(RS485或RS232),及一个CB(R4845)。ModbusRTUSIPLUSI/O选项:安装ET200MPS7-1500CMPtP(RS485/422或RS232)或ET200SPS7-1500CMPtP(RS485/422或RS232),将Modbus_Comm_Load指令放入程序时自动分配背景数据块。该指令如图10-5所示。2.Modbus协议表10-7Modbus_Comm_Load指令参数参数声明数据类型说明REQINBool当此输入出现上升沿时,启动该指令。PORTINPort指定用于以下通信的通信模块:对于S7-1500/S7-1200:设备组态中的“硬件标识符”。符号端口名称在PLC变量表的“系统常数”(Systemconstants)选项卡中指定并可应用于此处。对于S7-300/S7-400:设备组态中的“输入地址”。在S7-300/400/WinAC系统中,在HWCN中分配的输入地址中分配端口参数。BAUDINUDInt选择数据传输速率有效值为:300、600、1200、2400、4800、9600、19200、38400、57600、76800、115200bit/s。PARITYINUInt选择奇偶校验:0–无1–奇校验2–偶校验FLOW_CTRLINUInt选择流控制:0–(默认)无流控制1–硬件流控制,RTS始终开启(不适用于RS422/485CM)2–硬件流控制,RTS切换(不适用于RS422/485CM)RESP_TOINUInt响应超时:5ms到65535ms-Modbus_Master等待从站响应的时间(以毫秒为单位)。如果从站在此时间段内未响应,Modbus_Master将重复请求,或者在指定数量的重试请求后取消请求并提示错误(请参见下文,RETRIES参数)。MB_DBIN/OUTMB_BASE对Modbus_Master或Modbus_Slave指令的背景数据块的引用。MB_DB参数必须与Modbus_Master或Modbus_Slave指令的(静态,因此在指令中不可见)MB_DB参数相连。DONEOUTBool如果上一个请求完成并且没有错误,DONE位将变为TRUE并保持一个周期。ERROROUTBool如果上一个请求完成出错,则ERROR位将变为TRUE并保持一个周期。STATUS参数中的错误代码仅在ERROR=TRUE的周期内有效。STATUSOUTWord错误代码2.Modbus协议注意:Modbus_Comm_Load指令背景数据块中的静态变量“MODE”用于描述PTP模块的工作模式,有效的工作模式包括:•0=全双工(RS232)•1=全双工(RS422)四线制模式(点对点)•2=全全双工(RS422)四线制模式(多点主站,CMPtP(ET200SP))•3=全全双工(RS422)四线制模式(多点从站,CMPtP(ET200SP))•4=半双工(RS485)二线制模式。2.Modbus协议(2)Modbus_Master指令Modbus_Master指令作为Modbus主站利用之前执行Modbus_Comm_Load指令组态的端口进行通信。将Modbus_Master指令放入程序时自动分配背景数据块。指定Modbus_Comm_Load指令的MB_DB参数时将使用该Modbus_Master背景数据块。该指令如图10-6所示。2.Modbus协议参数和类型数据类型说明REQINBool0=无请求1=请求将数据传送到ModbusMB_ADDRINV1.0:USIntV2.0:UIntModbusRTU从站地址标准寻址范围(1-247)扩展寻址范围(1-65535)值0被保留用于将消息广播到所有的Modbus从站。只有Modbus功能代码05、06、15和16可用于广播的功能代码。MODEINUSInt模式选择:指定请求类型(读、写或诊断)。请参见下面的Modbus功能表了解详细信息。DATA_ADDRINUDInt从站中的起始地址:指定要在Modbus从站中访问的数据的起始地址。请参见下面的Modbus功能表了解有效地址信息。DATA_LENINUInt数据长度:指定此请求中要访问的位数或字数。请查阅Modbus功能表了解有效长度信息。DATA_PTRINVariant数据指针:指向要写入或读取的数据的M或DB地址(标准DB类型)。DONEOUTBool上一请求已完成且没有出错后,DONE位将保持为TRUE一个扫描周期时间。BUSYOUTBool无Modbus_Master操作正在进行Modbus_Master操作正在进行ERROROUTBool上一请求因错误而终止后,ERROR位将保持为TRUE一个扫描周期时间。STATUS参数中的错误代码值仅在ERROR=TRUE的一个扫描周期内有效。STATUSOUTWord错误代码2.Modbus协议指令使用注意事项:●必须先执行MB_COMM_LOAD组态端口,然后Modbus_Master指令才能与该端口通信。●如果要将某个端口用于初始化Modbus主站请求,则MB_SLAVE不应使用该端口。Modbus_Master执行的一个或多个实例可使用该端口,但是对于该端口,所有Modbus_Master执行都必须使用同一个Modbus_Master背景数据块。●Modbus指令不使用通信中断事件来控制通信过程。用户程序必须轮询Modbus_Master指令以了解传送和接收的完成情况。2.Modbus协议(3)Modbus_Slave指令程序可利用CM(RS422/485或RS232)端口,使用Modbus_Slave指令来作为Modbus从站进行通信。添加指令时,STEP7将自动创建背景数据块。Modbus_Comm_Load指令的MB_DB参数必须连接到Modbus_Slave指令的(静态)MB_DB参数。该指令如图10-7所示。2.Modbus协议Modbus从站通信的规则必须运行Modbus_Comm_Load以组态端口,以便Modbus_Slave指令可以通过该端口进行通信。如果端口作为从站响应Modbus主站,则不能使用Modbus_Master指令对该端口进行编程。只有Modbus_Slave的一个实例可与特定端口一起使用;否则可能遇到意外行为。Modbus指令不会使用通信报警事件来控制通信过程。为实现完整的发送和接收过程,程序必须通过查询Modbus_Slave指令来控制通信过程。必须以允许及时响应Modbus主站进入请求的频率,定期执行Modbus_Slave指令。建议在每个来自程序周期OB的周期内执行Modbus_Slave。Modbus_Slave可在周期性中断OB中执行,但不建议这样做,因为中断程序中过长的时间延迟会临时地阻碍其它中断程序的执行。3412项目背景及控制分析相关知识项目实施项目考核项目十

S7-1200PLC通信系统设计提升篇

设置两个PLC,在一个PLC中使用PUT指令从本地数据块中传送数据到伙伴PLC的数据块中,使用GET指令将伙伴PLC的数据块中的数据传送到本地PLC的数据块中。具体步骤如表10-10所示。序号图片示例操作步骤1

在项目中插入2个S7-1200PLC,在网络视图中选中“连接”,选择“S7连接”,并设置同网段且不相同的两个IP地址“192.168.0.1”、“192.168.0.2”。2

在PLC的CPU属性中的“常规”、“连接机制”中勾选“允许来自远程对象的PUT/GET通信访问”。3

端口互联中选择“任何伙伴”4

别在两个PLC中建立数据块,并在发送数据块中写入初始数据以方便发送,在需要读取的数据块中设置初始值以方便读取,注意创建数据块时不要勾选“优化的块访问”。5

采用PLC1向PLC2读取及写入数据,所以只需要在PLC1中写入梯形图指令即可完成通信。PUT指令编写。6采用PLC1向PLC2读取及写入数据,所以只需要在PLC1中写入梯形图指令即可完成通信。GET指令编写。7

PUT和GET指令左侧地址“ADDR_1”、“SD_1”、“RD_1”的填写及连接参数必须单击指令右上角“组态”图标后进行设置,PUT指令块参数设置。8PUT和GET指令左侧地址“ADDR_1”、“SD_1”、“RD_1”的填写及连接参数必须单击指令右上角“组态”图标后进行设置,GET指令块参数设置。9

运行后,通过监控数据块中的参数,可以判断数据传输是否成功。PLC1数据发送的值与PLC2数据接收的值相同。PLC1发送的数据10PLC2接收的数据11

PLC1数据接收的值与PLC2中待读取的数据值相同。PLC2中待读取的数据12PLC1中接收到的数据S7-1200与smart200之间的S7通信只需要在smart200PLC侧进行编程,S7-1200侧只需要在CPU属性设置“允许来自远程对象的PUT/GET通信访问”,本项目smart200采用ST30CPU。S7-1200与smart200之间的S7通信操作步骤如表10-11所示。1S7-1200与smart200进行S7通信在S7-1200端只需要设置CPU属性中勾选“允许来自远程对象的PUT/GET通信访问”。2

在smart20

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论