欢迎来到天天文库
浏览记录
ID:22077855
大小:73.00 KB
页数:15页
时间:2018-10-27
《plc与变频器通讯(转)》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、PLC与变频器通讯(转) 学工控技术,拿10万年薪马上注册,免费学习超过100课时视频教程,免费下载海量学习资料 PLC与变频器通讯(转) 西门子的USS通讯,无需使用特殊硬件,PLC与变频器都有继承的串口,简单,价廉。如果要使用总线的话,就需要额外使用通讯卡或适配器。 PLC与驱动装置连接,主要实现的任务是: 控制驱动装置的启动、停止等运行状态 控制驱动装置的转速等参数 获取驱动装置的状态和参数 S7-200和西门子传动装置主要可以通过以下几种方式连接在一起工作: S7-200通过数字量(DI/DO
2、)信号控制驱动装置的运行状态和速度 S7-200通过数字量信号控制驱动装置的运行状态;通过模拟量(AI/AO)信号控制转速等参数 S7-200通过串行通信控制驱动装置的运行和各种参数 **************************************************************** 由于题目的需要,那就使用“S7-200通过串行通信控制驱动装置的运行”,也就是控制启停。 S7-200CPU将在USS通信中作为主站。而变频器则为USS从站。 当S7-200的编程软件为V4.0SP5以上的
3、话,就包括USS协议指令库,以下介绍通过西门子提供的USS指令库与MM440之间的串行通信控制。 1、关于指令库 见下图,就是安装了USS协议指令库的指令树。 西门子的标准USS协议库以浅蓝色图标表示。如果未找到浅蓝色图标的指令库,说明系统中没有安装西门子标准指令库。必须先安装标准指令库。 2、USS初始化指令 西门子的S7-200USS标准指令库包括14个子程序和3个中断服务程序。但是只有8个指令可供用户使用。一些子程序和所有中断服务程序都在调用相关的指令后自动起作用。每个USS库应用都要先进行USS通信的初始化。
4、使用USS_INIT指令初始化USS通信功能。 打开USS指令库分支,像调用子程序一样调用USS_INIT指令。 上图中: a.EN:初始化程序USS_INIT只需在程序中执行一个周期就能改变通信口的功能,以及进行其他一些必要的初始设置,因此可以使用SM0.1或者沿触发的接点调用USS_INIT指令; b.Mode:模式选择,执行USS_INIT时,Mode的状态决定是否在Port0上使用USS通信功能; =1设置Port0为USS通信协议并进行相关初始化 0恢复Port0为PPI从站模式 c.Baud:USS通
5、信波特率。此参数要和变频器的参数设置一致; =24002400bit/s 48004800bit/s 96009600bit/s 1920019200bit/s 3840038400bit/s 5760057600bit/s 115200115200bit/s d.Active:此参数决定网络上的哪些USS从站在通信中有效。详见下面的说明; e.Done:初始化完成标志 f.Error:初始化错误代码 Active参数USS_INIT子程序的Active参数用来表示网络上哪些USS从站要被主站访问,即在主
6、站的轮询表中激活。网络上作为USS从站的驱动装置每个都有不同的USS协议地址,主站要访问的驱动装置,其地址必须在主站的轮询表中激活。USS_INIT指令只用一个32位长的双字来映射USS从站有效地址表,Active的无符号整数值就是它在指令输入端的取值。 在上表中的这个32位的双字中,每一位的位号表示USS从站的地址号;要在网络中激活某地址号的驱动装置,则需要把相应位号的位置设为二进制“1”,不需要激活USS从站,相应的位设置为”0”。最后对此双字取无符号整数就可以得出Active参数的取值。 将使用站地址为3的MM440
7、变频器,则须在位号为03的位单元格中填入二进制“1”。其他不需要激活的地址对应的位设置为”0”。取整数,计算出的Active值为00000008h,即16#00000008,也等于十进制数8(如调用USS_INIT指令中的d) 我一般都是使用16进制数,这样可以每4位一组进行加权计算出16进制数,并组合成一个整数。如果一时难以计算出有多个USS从站配置情况下的Active值,可以使用Windows自带的计算器。将其设置为科学计算器模式,可以方便地转换数制。 3、分配库存储区地址 指令库或者向导都要求分配库存储区地址,这也
8、是使用西门子200容易忽略的步骤。 USS指令库需要大概400个字节的V存储区用于支持其工作。调用USS_INIT指令后就可以为USS指令库分配库存储区。也可以在编程的稍后阶段分配存储区地址,但这一步是必不可少的,否则程序无法通过编译。注意:S7-200中的数据存储区分配原
此文档下载收益归作者所有