15221406036
西门子模块6ES7217-1AG40-0XB0详细说明
报价: 666.00元/件
最小起订: 1
有效期至: 长期有效
发布时间: 2023-05-10 02:42
发布IP: 116.224.103.5
浏览次数: 47
手机号: 15221406036
电话: 15221406036
在线咨询: 点击这里给我发消息
15221406036
详细信息

西门子模块6ES7217-1AG40-0XB0详细说明

此VB与三菱FX系列PLC编程口通信源码无须PLC编写通讯程序也无须进行任何设置即可通讯,用于PC和三菱系列PLC通过编程口进行通讯
本篇文章来源于 528工控网|www.gk528.com 原文链接:http://www.gk528.com/gkvb/2008/7bbbb

    此三菱FX系列PLC与VB通讯源码依据三菱FX系列PLC通讯协议应用MSCOMM32通讯控件制作,亦即此源码并不是调用动态链接库编制!学习此源码,令您真正了解VB编制PLC上位机通讯程序的过程,学会此源码也有助于您利用VC,DELPHI等**语言编制PC与三菱FX的上位机通讯程序,可应用于自主开发上位机与三菱FX系列PLC的控制界面。 

    此源码适用于FX1S,FX1N,FX2N    

下载可执行文件试用 
    您可以下载已做好的可执行文件与PLC连机(SC-09编程线)试一下通讯效果!   
    此VB与三菱FX系列PLC编程口通讯源码可以实现的功能如下:   
    1、可以写入、读出寄存器的数值(16进制或10进制,16位或32位);            
    2、可以进行元件(Y、M、S、C、T)的置、复位操作;            
    3、可以读取元件(X、Y、M、S、C、T)的ON/OFF状态;            
    4、可以读取元件(C、T)的当前值;            
    5、实时显示PLC的输入点、输出点、中间继电器的状态变化及寄存器的数值; 
    上述功能包括了上位机与三菱FX系列PLC通讯的所有要求,您可以利用上述功能的编程方式,根据三菱FX系列PLC通讯协议自由改变PLC的元件地址,实现与您所需要的通讯要求! 
    您更可以根据此源码的通讯原理,随意编制自己的上位机控制界面。 
    购买此源码,本网还提供VB与三菱FX系列PLC的一个非常简单的通讯程序,包括单独置/复位一个位元件状态、读/写一个寄存器、查询两个位元件状态的VB通讯源码,同时提供三菱FX系列PLC的通讯协议,有助于您更快地学会VB与三菱FX系列PLC的通讯原理! 
    本源码的*大特点是通讯速度快,通讯稳定! 
    本源码的目的是为了让您学会编制VB与FX系列PLC的通讯程序,所以源码上都有详细地注解.利用此源码,您可以在不需要别人帮助的情况下自主学会编制VB与FX系列PLC的通讯程序! 

由于电动机正反转换接时,有可能因为电动机容量较大或操作不当等原因,使接触器主触头产生较为严重的起弧现象,如果电弧还未完全熄灭时,反转的接触器就吸合,则会造成电源相间短路,用PLC来控制电动机则可避免这一问题。触动启动按钮SB2后,电动机先做星形连接启动,经延时6s后自动换接到三角形连接运行;触动停止按钮SB3后电动机停止转动。
表---------I/O地址表

编号

地址

说明

功能


1

10.0

SB2按钮输入

启动电动机

2

10.1

SB3按钮输入

停止电动机

输出地址表 (如表10-8所示)

1

Q0.0

接入KM1接触器

供电动机电源

2

Q0.1

接入KM2接触器

三角形启动

3

Q0.2

接入KM3接触器

星形启动

 电气控制接线图,如图10-14所示 
电气控制接线图
星角启动PLC接线图10-15
星角启动PLC接线图
电动机接线图10-16
电动机接线图
Y/△换接启动过程分析
启动,按启动按钮SB2,10.0的动合触点闭合,M1.0线圈得电,M1.0的动合触点闭合,Q0.0线圈得电,即接触器KM1线圈得电,1s后Q0.2线圈得电,即接触器KM3线圈得电,电动机做星形连接启动;同时定时器线圈T200得电,当启动时间累计达6s时,T200的动断触点断开,Q0.2失电,接触器KM3断电,触头释放,与此同时T200的动合触点闭合,T202得电,经0.5s后,T202动合触点闭合,Q0.1线圈得电,电动机接成三角形,启动完毕。定时器T202的作用是使KM3断开0.5s后KM2才得电,避免电源短路。停车:按停止按钮SB3,10.1的动断触点断开,M1.0、T200失电;M1.0、T200的动合触点断开,Q0.0、Q0.2失电。KM1、KM断电,电动机做自由停车运行。
过载保护:当电动机过载时,热过载保护继电器FR的动断触点断开,电动机也停车。
手动切换:按下SB1,手动切换Y/△。
注意:接通电源之前,将三相电源模块的开关置于"关"位置,请在连接好接线后,才将这一开关接通,请千万注意人身安全。
三相异步电动机Y/△换接启动控制PLC编程
程序如图10-17所示。 图10-17 基于三相异步电动机Y/△换接启动控制
三相异步电动机Y/△换接启动控制
三相异步电动机Y/△换接启动控制
三相异步电动机Y/△换接启动控制
三相异步电动机Y/△换接启动控制
三相异步电动机Y/△换接启动控制

PLC控制技术是基于软件和硬件在逻辑功能上等效的思想,采用开放式体系结构,通过软件来实现PLC硬件的功能。软PLC系统由上位机和下位机组成,上位机为用户提供编辑界面和多种编程语言环境,便于用户在PC机上进行PLC程序的编辑,同时还对下位机的一些状态量进行监控,并给下位机发送指令。

  用户编辑完PLC的梯形图和指令表程序后,只有通过对程序的编译来获取程序的逻辑后才能按照PLC的工作原理运行。为了配合在PC机上运行的软PLC编辑开发系统,使PC机完成相应的控制功能,开发了软PLC编译系统。

  1、软PLC程序编译系统的组成

  PLC编译模块由梯形图语法检查模块、梯形图程序逻辑检查模块和指令表程序语法检查模块组成。梯形图程序语法检查模块检查用户PLC图形程序有无指令标记重复、指令地址越界等语法错误;梯形图程序逻辑检查模块检查PLC图形程序有无逻辑错误;语言程序语法检查模块检查用户语句程序有无拼写、指令格式、指令地址越界等语法错误。

  编译程序的构造包括词法分析、语法分析、语义分析、错误的检查和处理以及代码生成和代码优化等程序。

  2、软PLC程序的遍历算法

  软PLC程序的遍历算法主要包括梯形图遍历算法和指令表遍历算法。梯形图程序由若干个梯级组成,遍历时以梯级为单位,采用深度优先的扫描方法。按从上到下,从左到右的顺序进行。在扫描过程中,遇到并联结点就转入下一行进行扫描,行与行之间的切换由指针的变换来实现,原先位置的指针被预先存储起来,待并联模块扫描完后。再从原来的位置开始往下扫描。梯级和扫描顺序如图1所示。

 

  图1 梯级和扫描图

  指令表是由一系列指令组成。且指令按照链式结构存储,按照顺序读取指令即可完成对指令表的遍历。

  3、梯形图与指令表程序的相互转换

  3.1 梯形图转换成指令表

  梯形图转换成指令表是以梯级为单位进行的。

  对于没有并联支路的梯级,只要根据梯形图元素在梯级中的位置和元素的类型,即可将梯形图转换为指令表。对于包含有并联支路的梯级,可以按照遍历梯形图的方法,一边遍历一边转换。在转换过程中,首先设定1个全局变量nDepth(梯级深度),以确定梯级的深度,然后判断1个梯级是否包含并联支路。如果包含则调用包含有并联支路的转换程序,然后顺序读入当前梯级深度层次上的梯形图元素;如没有发现并联支路,则调用不含并联支路的转换程序依次转换。在转换过程中。每转换完1条支路就要添加1个ORB支路并联指令。

  在对整个梯形图程序进行转换时,首先生成nLine(行号)和nDepth 2个全局变量,然后从头开始进行转换,转换完1个梯级后。下1个梯级从第nLine(nLine=nLine+nDepth+1)行开始,直到梯形图文件结束为止。

  3.2 指令表转换成梯形图

  指令表转换成梯形图的过程就是根据PLC指令语句生成相应的梯形图元素链表的过程。因为梯形图和指令表程序是一一对应的关系,可按照语句对应生成相应的梯形图元素,利用在梯形图向语言表转换文件中已设计好的位图资源,建立标志符和位图之间的相应关系。转换时,将语句表以文件流的方式存入文本文件中,逐行分析,通过适当的算法处理,在视窗中画出对应的梯形图符号,直到文件结束。此外,在转换过程中,需要将程序划分为若干小节,每节对应梯形图中的1个梯级。在指令表中,梯级的划分可根据OUT指令来进行。串并联模块的划分可根据ANB和ORB指令进行。

  4、软PLC程序的语法分析

  在对PLC程序进行编译时,先将由PLC其他语言编写的程序转化为指令表后再进行处理。程序语言的文法通常包括I组终结符、I组非终结符、1个开始符号和1组产生式。

  4.1 软PLC程序的文法设计

  软PLC程序文法主要指PLC指令表语言的文法设计,PLC指令表语言与梯形图语言存在一一对应的关系。PLC的指令表程序由若干条语句组成,每条语句包括语句号、操作码和操作数。操作码是PLC指令系统中的指令代码,包括逻辑取、触点串联指令、触点并联指令指令、支路并联指令、支路串联指令和线圈驱动指令。操作数主要是PLC内部的继电器、定时器和计数器。下面是一段PLC指令表例程。



  以三菱公司F1系列的逻辑指令为例来说明指令表文法的设计,并选取指令集中的一个子集来作为研究对象,该子集由逻辑取指令(LD,LDI)、触点串联指令(AND,ANI)、触点并联指令(OR,ORI)、支路并联连接指令(ORB)、支路串联连接指令(ANB)和线圈驱动指令(0UT)等基本指令组成。
为了便于分析,用单个小写字母代替指令,即LD,LDI→a;AND,ANI→b;OR,ORI→c;ANB→d;ORB→e;0UT→f。指令表的文法可表示为1个四元式(Vt,VN,S,φ),其中,Vt是终结符号集,包括{a,b,e,d,e,f};VN是非终结符号集,包括{S,H,K,A,B,D,E};S是开始符号;φ中是产生式集(@代表空集)。因

 

  此,指令表程序的文法G[S]为S→aHfS; S→AfS;S→@;H→EH;H→@;K→EK;K→@,A→DA;A→@;B→e;D→b;D→c;E→D;E→aKB。

  由G[S]产生式,可推出空串的非终结符集合为{S,H,K,A}。

  4.2 软PLC程序的语法分析

  语法分析选用自顶向下的LL(1)分析方法。为使用LL(1)分析方法,首先构造预测分析表,并先求取所有非终结符号的FIRST集和FELLOW集。

  FIRST集:FIRST(S)={a,@,b,c};FIRST(H)={@,b,c,a};FIRST(K)={@,b,c,a};FIRST(A)={@,b,c};FIRST(B)={e,d};FIRST(D)={b,c};FIRST(E)={b,c,a}。

  FOLLOW集:FOLLOW(S)={#};FOLLOW(H)= {f};FOLLOW(K)={e,d};FOLLOW(A)={f};

  FOLLOW(B)={b,c,a,f,e,d};FOLLOW(D)={b,c,f,a,e,d};FOLLOW(E)={b,C,a,f,e,d}。

  各产生式的SELECT集:SELECT(S→aHfS)={a};SELECT(S→AfS)={b,c,f};SELECT(S→@)={@,#};SELECT(H→EH)={b,c,a};SELECT(H→@)={@,f};SELECT(K→EK)={b,c,a};SELECT(K→@)={@,e,d};SELECT(A→DA)={b,c};SELECT(A→@)={@,f};SELECT(B→e)={e};SELECT(B→d)={d};SELECT(D→b)={b};SELECT(D→c)={c};SELECT(E→D)={b,c};SELECT(E→aKB)={a}

  根据上述计算。生成的PLC文法预测分析表如表1所示。

 

  表1 PLC文法预测分析表

  通过表1,采用非递归的预测分析方法,构造预测分析器模型,如图2所示。

 

  图2 非递归的预测分析器模型

  预测分析器的控制程序总是根据栈顶符号和当前输入符号来决定预测分析器的动作,预测分析器的控制程序算法如下:

  置指针ip指向输入符号串的第1个字符

  while(1)

  令X是栈顶符号。a是ip所指的符号;

  if(X是终结符号或$)

  if X==a

  pop(X),更新ip;

  else

  error();

  else(X是非终结符号)

  if M[X,a]:X—yly2?K

  pop(X);
push(Y1Y2?K);

 

  else

  error();

  else(X==$)

  分析成功;

  break;

  其中,M[X,a]是指预测分析表中x行和a列相交处的产生式。

  下面举例子来说明PLC程序语法分析程序的工作过程。

  将指令用小写字母代替后,程序指令变为acababecdcf,将该字符串作为输入,分析过程如表2所示。


 

  表2 PLC程序语法分析表

  5、软PLC程序编译的实现

  PLC指令表程序的分析是通过对指令表程序的解释而获得程序的逻辑,并以对话框形式演示程序的逻辑状态。在解释过程中,构造2个变量,1个用于存储分支块的逻辑值,另1个用于存储分支块前面语句的逻辑值。同时构造1个堆栈用来存储解释过程中的结果,分支块前面的值保存在堆栈中,整个分支块的值保存在1个临时变量中。

  PLC指令表程序的解释过程为:1)当解释程序发现LD或LDI指令时,将临时变量值压入堆栈,临时变量赋值为1,临时变量与指令后面的元素进行逻辑与操作,将结果保存在临时变量中;2)当解释程序发现AND或ANI指令时,临时变量与指令后的元素进行与操作,将结果保存到临时变量中;3)当解释程序发现OR或ORI指令时,l临时变量与指令后的元素进行或操作,将结果保存到临时变量中;4)当解释程序发现ANB指令时,临时变量与栈顶的值进行与操作,将结果保存到临时变量中,同时堆栈将栈顶元素弹出;5)当解释程序发现ORB指令时,临时变量与栈顶的值进行或操作,将结果保存到临时变量中,同时堆栈将栈顶元素弹出;6)当解释程序发现OUT指令时,将临时变量与栈顶的值进行与操作,将结果保存在临时变量中。同时清空堆栈。

  程序逻辑的仿真界面,如图3所示。

 

  图3 程序逻辑仿真界面

  程序中所包含的PLC元素会按类别以表格形式列出,元素的不同颜色表示元素的开关状态,红色代表高电平,白色代表低电平。当用鼠标改变输入元素的状态时。输出元素的状态会按照程序逻辑进行改变,改变的结果可由颜色的变化来显示。

  6、结束语

  软PLC程序的逻辑仿真结果表明,开发的软PLC编译系统能实现软PLC梯形图与指令表程序的相互转换,完成软PLC程序的文法设计和语法分析,对软PLC程序的运行指令作出正确解释,并能按照PLC的工作原理运行,使PC机完成相应的控制功能。开发的软件系统能很容易地实现PLC程序的编辑和逻辑仿真,系统结构简单,使用方法简便,为今后进~步研究和开发软PLC的下位机系统、不断完善软PLC系统的功能和实现其良好的控制特性奠定了基础。



相关产品
相关西门子模块产品
产品分类
最新发布
企业新闻
站内搜索
 
联系方式
  • 地址:上海市松江区广富林路4855弄88号3楼
  • 电话:15221406036
  • 手机:15221406036
  • 联系人:聂航