1、STEP7Micro/WIN编程软件的主界面
STEP 7Micro/WIN32是S7-200的专用编程软件,它工作在Windows平台下,其主界面如下图所示。
2、项目(Project)
主界面的标题是STEP 7 Micro/WIN32-Project1。
项目包含的基本组件为:
(1)程序块(Program Block)
程序块由可执行的代码和注释组成,可执行的代码由主程序(OB1)、子程序(可选)、中断服务程序(可选)组成。代码被编译并下装到PLC,而程序注释则被忽略。
(2)符号表(Symbol Table)
为便于记忆和理解,编程人员可通过符号表编写符号地址。程序编译后下装到PLC时所有的符号地址被转换成绝对地址。
(3)状态表(Status Chart)
在程序执行时,可通过状态表监控指定的内部变量的状态。状态表并不下装到PLC中,它只是用于监控用户程序运行情况的工具。
(4)数据块(Data Block)
数据块由数据(存储器的初始值和常数值)和注释组成,只有数据被编译并下装到PLC中。
(5)系统块(System Block)
系统块用于设置系统的组态参数,常用的系统组态包括设置数字量输入滤波、模拟量输入滤波,设置脉冲捕捉,配置数字量输出表,定义存储器保持范围,设置CPU密码,设置通信参数,设置模拟电位器,设置高速计数器,设置高速脉冲输出等。
系统块的信息需要下装到PLC中,如无特殊要求,可采用系统默认的参数值,如果不需要设置CPU密码,可选择“全部特权(1级)”。
(6)交叉引用表(Cross Reference)
交叉引用表用于索引用户程序中所用的各个操作数的位置和指令的助记符。还可以使用交叉引用表查看存储器的哪些区域已经被使用,是作为位使用还是作为字节使用。在运行模式下编辑程序时,可以查看当前正在使用的跳变信号的地址。交叉引用表不下装到PLC中,但只有在编译程序成功后,才能使用交叉引用表。在交叉引用表中双击某个操作数,可以显示包含该操作数的那一部分程序。
(7)通信(Communications)
当计算机与PLC建立在线连接后,就可以对PLC进行通信参数设置。上装或下装用户程序时,都是通过通信方式完成的。
3、使用PC/PPI电缆建立通信连接及设置通信参数
(1)PC/PPI电缆的安装与设置
用计算机作为编程器时,计算机与PLC之间的连接一般是通过PC/PPI电缆进行通信的。
PC/PPI电缆带有RS-232/RS-485转换器,将标有“PC”的RS-232端连接到计算机的RS-232通信接口,将标有“PPI”的RS-485端连接到PLC的通信接口。
在用PC/PPI电缆上的DIP开关设置波特率时应与编程软件中设置的波特率相同,默认值为9600bps,DIP开关的第4位用于选择10位或11位通信模式,第5位用于选择将RS-232口设置为数据终端设备(DTE)模式或数据通信设备(DCE)模式。
在编程软件STEP7 Micro/EIN32中设置通信参数时,可用鼠标单击“通信”图标“”,或从菜单栏中选择“检视(View)”,在弹出的下拉菜单中选择“通信(Communications)”,出现“通信连接(CommunicationsLinks)”对话框,在对话框中双击PC/PPI电缆图标“”,再单击对话框中“属性(Properties)”按钮,出现“PC/PPI电缆属性”对话框后,即可进行通信参数设置。
(2)建立计算机与PLC的在线连接
如果在“通信连接”对话框中,显示为尚未建立通信连接,双击对话框中的“刷新”图标“”,编程软件将检查所有可能与计算机连接的S7-200CPU站,并在对话框中显示已建立起连接的每个站的CPU图标、CPU型号和站地址。
(3)设置和修改通信参数
在“通信连接”对话框中,双击PC/PPI电缆图标,在对话框中单击“属性(Properties)”按钮,出现“PC/PPI电缆属性”对话后,即可进行通信参数设置。
STEP 7Micro/WIN32的默认设置为多主站PPI协议,此协议允许STEP 7Micro/WIN32与其它主站(TD200等)在网络中同为主站。在属性对话框中选中多主站网络(Multiple MasterNetwork),即可启动多主站PPI协议。未选择时为单主站协议。
设置PPI参数的步骤如下:
1在“PC/PPI电缆属性”对话框中,单PPI按钮,在站参数区(StationParameter)的地址(Address)框中,设置站地址。运行编程软件STEP 7Micro/WIN32的计算机的默认地址为0,网络中第一台PLC的默认地址为2。
2在超时(Time-out)框中设置通信设备建立联系的最长时间,默认值为1s。
3如果使用多主站PPI协议,选中“多主网络”(Multiple Master Network)。使用调制解调器或WindowsNT4.0时,不支持主站网络。
4设置网络通信的波特率。
5根据网络中的设备数据选择最高站地址,这是STEP 7 Micro/WIN32停止寻找网络中其它主站的地址。
6单击“本机连接(LocalConnection)”按钮,选择连接PC/PPI电缆的计算机的通信口,以及是否使用调制调解器。
7单击“确定”(OK)按钮,完成通信参数设置。
(4)读取PLC的信息
如果想知道PLC的型号与版本、工作方式、扫描速度、I/O模式设置以及CPU和I/O模板的错误,可选择菜单栏中的“PLC”,在下拉菜单栏中选择“信息(Information…)后,将是示出PLC的RUN/STOP状态,以ms为单位的扫描速度、CPU的版本|错误的情况及各个模板的信息。
4、程序的编写与下装操作
(1)程序编写的操作步骤
1创建项目:在为控制系统编写应用程序前,首先应当创建一个项目(Project)。可用菜单命令“文件→新建”或按工具条中“新建项目”按钮,创建一个新的项目。使用菜单命令“文件→另存为”,可修改项目的名称和项目文件所在的目录。
2打开一个已有的项目:使用菜单命令“文件→打开”,可打开一个已有的项目。如果最近在某个项目上工作过,它将在文件菜单的下部列出,可直接选择。项目存放在*.mwp的文件中。
3设置与读取PLC的型号:在给PLC编程前,为防止创建程序时发生编程错误,应正确地设置PLC的型号。使用菜单命令“PLC→类型”,在出现的对话框中,选择PLC的型号。在建立了通信连接后,单击对话框中的“读PLC”按钮,可读取PLC的型号与硬件版本。
4选择编程语言和指令集:使用菜单命令“工具(Tools)→选项(Options)”,就弹出选项对话框,单击“通用(General)”按钮,可选择SIMATIC指令集或IEC1131-3指令集。还可以选择程序编辑器(LAD、FBD及STL)的类型。
5确定程序结构:数字量控制程序一般只有主程序,系统较大,功能复杂的程序,还可能有子程序、中断程序和数据块。
● 主程序(在S7-200中为OB1)在每个扫描周期被顺序执行一次。
● 子程序的指令存放在独立的程序块中,仅在被别的程序调用时才执行。
● 中断程序也被存放在独立的程序块中,用于处理预先规定的中断事件。中断程序不由主程序调用,在中断事件发生时由操作系统调用。
6编写符号表:为便于记忆和理解,可采用符号地址编程,通过编写符号表,可以用符号地址代替编程元件的地址。
7编写数据块:数据块用于对变量寄存器V进行初始数据赋值,数字量控制程序一般不需要数据块。
8编写用户程序:用选择的程序编辑器(编程语言)编写用户程序。
使用梯形图语言编程时,单击工具栏中的触点图标,可在矩形光标的位置上放置一个触点,在与新触点同时出现的窗口中,可选择触点的类型。单击触点上面或下面的红色问号,可设置该触点的地址或其他参数。用相同的方法可在梯形图中放置线圈和功能框。单击工具条中带箭头的线段,可在矩形光标处连接触点间的连线。双击梯形图中的网络编号,在弹出的窗口中可输入网络的标题和网络的注释。
9编译程序:用户程序编写完成后,要进行程序编译。使用菜单命令“PLC→编译(Compile)”或“PLC→全部编译(CompileAll)”,或按工具条中的编译按钮、全部编译按钮,进行程序编译。编译后在屏幕下部的输出窗口显示语法错误的数量、各条语法错误的原因和产生错误的位置。双击输出窗口中的某一条错误,程序编辑器中的光标会自动移到程序中产生错误的位置。必须改正程序中所有的错误,且编译成功后,才可能下装到PLC中。
10程序的下装、上装及清除:当计算机与PLC建立起通信连接,且用户程序编译成功后,可以进行程序的下装操作。
下装操作需在PLC的运行模式选择开关处于STOP的位置时才能进行,如果运行模式选择开关不在STOP位置,可将CPU上的运行模式选择开关拨到STOP位置。或者单击工具条中的停止按钮,或者选择菜单命令“PLC→停止(STOP)”,也可以使PLC进入到STOP工作模式。
单击工具栏中的下装按钮,或者选择菜单命令“文件→下装(Download)”,将会出现下装对话框。在对话框中可以分别选择是否下装程序块、数据块和系统块。单击“确定”按钮后开始将计算机中的信息下装到PLC中。下装成功后,确认框显示“下装成功”。
如果在编程软件中设置的PLC型号与实际型号不符,将出现警告信息,应在修改PLC的型号后再进行下装操作。
也可以将PLC中的程序块、数据块、系统块上装到运行编程软件的计算机中。上装前应在STEP 7Micro/WIN32中建立或打开一个项目,最好新建一个空的项目,用于保存从PLC中上装的块。单击工具栏的上装按钮,或者选择菜单命令“文件→上装”,在上装对话框中选择需要上装的块后,单击“确定”按钮。
(2)程序编写及下装举例
下图是一个简单的数字量控制系统──鼠笼型电动机串电阻进行降压启动的控制系统的应用实例。
按下启动按钮SB1后,电动机的定子接触器KM1串联启动电阻进行降压启动,设启动时间为5s,启动结束后,短接接触器KM2将启动电阻短接,电动机全压运行。按下停止按钮SB2后,电动机停车。该系统具有热继电器FR做过载保护,过载后FR的动断触点断开,也会使电动机停止运行。
首先在断电的状态下,用PC/PPI电缆连接好计算机与PLC,然后为计算机与PLC通电,打开编程软件STEP7Micro/WIN32,创建一个项目(Project)。用菜单命令“PLC→类型(Type)”设置PLC的型号,如CPU222。用菜单命令“工具(Tools)→选项(Options)”,在弹出的对话框中单击“通用(Genenal)”按钮,选择SIMATIC编程模式和梯形图编辑器。由于这是一个很简单的数字量控制程序,可以没有子程序、中断程序和数据块,不使用局部变量表L,全部程序都在主程序中。一般的数字量控制程序通常都采用这种程序结构,图2为此实例的PLC梯形图。
图1 串电阻降压启动的原理图及PLC外部接线图
图2 串电阻降压启动的PLC梯形图图3显示符号地址的梯形图
由于控制系统对CPU和输入/输出特性没有特殊的要求,可以全部采用系统块的默认值。
为了使程序有良好的可读性,且便于高调试,可以使用符号表编程,尤其是当系统的控制规模较大时,一般都要采用符号表编程。在此例中,编写的符号表如下表所示。
符号表
元件符号 | 编程元件地址 | 编程符号 | 注 释 |
SB1 | I0.0 | 启动 | 启动按钮的动合触点 |
SB2 | I0.1 | 停止 | 停止按钮的动合触点 |
FR | I0.2 | 过载 | 热继电器的动断触点 |
KM1 | Q0.0 | 电源 | 接通交流电源的接触器 |
KM2 | Q0.1 | 短接 | 短接启动电阻的接触器 |
T37 | 启动延时 | 延时5s |
编写控制程序时,可以输入编程元件的符号地址,也可以输入编程元件的绝对地址。使用编程元件的绝对地址时,会被自动转换为符号地址,在梯形图程序中也将显示符号地址。
在下装操作进行之前,应设置好计算机与PLC的的通信参数。在确认控制程序正确的前提下,即用户程序全部编译成功后,在STOP的工作模式下,使用菜单命令“文件→下装(Download)”,将计算机中的的信息下装到PLC中。初次下装时,可选择下装程序代码块和系统块。
下装成功后,可进行模拟调试。
1将I0.2端子与DC24V的L+端连接,模拟热继电器的动断触点在正常运行时的状态。
2将I0.0端子与DC24V的L+端连接一下并随即断开,模拟按下启动按钮又松开,观察Q0.0的LED灯是否为ON。
35s后,观察Q0.1的LED灯是否为ON。
4将I0.1端子与DC24V的L+端连接一下并随即断开,模拟按下停止按钮又松开,观察Q0.0、Q0.1的LED灯是否为OFF。
5再次将I0.0端子与DC24V的L+端连接,模拟系统再次启动,观察启动过程是否正常。
6断开I0.2端子与DC24V的L+端的连接,模拟热继电器过载动作,动断触点断开,观察Q0.0、Q0.1的LDE灯是否为OFF。
(3)数据块的使用
1、在数据块中对地址和数据赋值
数据块用于对变量寄存器V赋初值,可用字节、字或者双字赋值。数据块中的典型行包括起始地址以及一个以上的数据值。数据块中的第一行必须包含明确的地址,以后的行可不包括明确的地址。如果在单地址后面键入多个数据,或者键入只包含数据值的行时,由程序编辑器根据前面的地址和数据长度(字节、字、双字),自动进行地址赋值。数据块编辑器接收大小写字母,并允许用逗号、制表符或空格作为地址和数据的分隔符号,例如,一个从VB3到VB13数据块中的数据如下:
VB3-25∥从VB3开始的字节数据(只占用VB3一个字节)
VD4100.5∥从VD4开始的双字实数数值(占用VB4~VB7的4个字节)
VW83,4,56∥从VW8开始的3个字数值(占用VB8~VB13的6个字节)
2、输入错误的显示与处理
如果数据块位于激活窗口,可以用菜单命令“PLC→编译”进行编译,如果数据块不在当前激活窗口,可以用菜单命令“PLC→全部编译”进行编译。
在对数据块进行编译时,如果编译器发现错误,将在输出窗口显示错误。双击错误信息,则在数据块窗口显示有错误的行。
如果在对数据块赋值过程中,某行出现输入错误,当在行尾键入回车键后,将在错误行的左边出现一个叉号,显示输入错误。改正后还要重新进行编译,直到改正所有的错误。
5、用编程软件监视与调试程序
(1)用状态表监视与调试程序
●打开和编辑状态表
在程序运行时,可以用状态表来读、写、强制和监视PLC的内部编程元件。单击指令树中的状态表图标,或者用菜单命令“检视(View)→状态表(StatusChart)”均可打开已有的状态表,并可以进行编辑。如果一个项目中有多个状态表,可以用状态表底部的标签按钮进行切换。
在启动状态表前,可在状态表中输入监视的编程元件的地址和数据类型,定时器和计数器可按位或者按字进行监视。如果按位监视,显示的是它们输出位的1/0状态;如果按字监视,则显示的是它们的当前值。
用菜单命令“编辑插入”,或者用鼠标右键单击状态表中的单元,可以在状态表当前光标位置的上部插入新的行。也可以将光标置于最后一行中的任意单元后,单击向下的箭头键,将新的行插在状态表的底部。在附表中选择编辑元件,并将其复制到状态表中,可以加快创建状态表的速度。
●创建新的状态表
可以将要监视的编程元件进行分组监视,分别创建几个状态表,用鼠标右键单击指令树中的状态表图标,就弹出一个窗口,在窗口中选择“插入状态表”选项可创建新的状态表。
●启动和关闭状态表
当计算机与PLC的的通信连接成功后,用菜单命令“调试(Debug)→状态表(StatusChart)”打开状态表,或者用鼠标单击调试工具条上的“状态表”图标“”来启动状态表。再操作一次就可以关闭状态表。
启动状态表以后,编程软件从PLC中收集状态信息,并对表中的数据更新,还可以根据需要强制修改状态表的数据。
●单次读取状态信息
状态表被关闭时,用菜单命令“调试(Debug)→单次读取(SingleRead)”,可以从PLC中读取当前的数据,并在状态表中显示当前数值,在执行用户程序时对状态表中的数值不进行更新。
(2)用状态表强制改变数值
当PLC工作在RUN模式下,可对程序中的某些变量进行强制性的赋值操作。S7-200CPU允许强制性地给所有的I/O点赋值,此外还可以改变最多16个内部寄存器(如V、M)的数据,或者模拟量I/O(AI或AQ)的数据。对V或M可按字节、字、双字来改变。对模拟量只能从偶数字节开始,以字为单位来改变模拟量。强制的数据可以永久性地存储在CPU的EEPROM中。
在读取输入(输入采样)阶段,强制值被当做输入读入;在程序执行阶段,强制数据用于由立即读和立即写指令指定的I/O点;在通信处理阶段,强制值用于通信的读/写请求。在修改输出(输出刷新)阶段,强制数据被当做输出写入输出电路。当进入STOP状态时,输出将为强制值,而不是系统中设置的值。
通过强制V、M、T或C,强制功能可用来模拟立即条件;通过强制I/O点,强制功能可用来模拟物理条件。值得注意的是,强制操作可能导致系统出现无法预料的情况,甚至引起人员伤亡或设备损坏。
显示状态表后,可以用“调试(Debug)”菜单命令中的选项或者用鼠标单击调试工具条中的相关按钮来执行相应的操作,如:强制、取消强制、取消全部强制、读取全部强制、单次读取和全部写入等。
用鼠标右键单击操作数,从弹出的窗口中可选择对该操作数强制或取消强制。
●全部写入
当完成了对状态表中的变量改动后,可用全部写入功能将所有的改动传送到PLC中。物理输入点不能用此功能改动。
●强制操作
在状态表的地址列中选中一个操作数,在“新数值列”写入希望的数据,然后按工具条中的强制按钮。一旦使用了强制功能,每次扫描都会将修改的数值用于该操作数,直到取消对它的强制。在被强制的数值旁,将显示锁定图标。
●对单个操作数取消强制操作
选择一个被强制的操作数,然后取消强制操作,锁定图标将会消失。
●读取全部强制
执行读取全部强制功能时,状态表中被强制地址的当前值位置将在曾经被显示强制(Explicitly)、隐式强制(Implicitly)或部分强制的地址处显示一个图标。
锁定图标表示该地址被显示强制,对它取消强制之前,不能改变此地址的值。
灰色的钮定图标表示该地址被隐式强制。例如,如果VW0被显式强制,则VB0和VB1被隐式强制,因为它们包含在VW0中。被隐式强制的数值本身不能取消强制。在改变VB0的强制之前,必须取消对VW0的强制。
半块锁定图标表示该地址的一部分被强制。例如,如果VW0被显示强制,因为VW0的第二字节是VW1的第一个字节,所以VW1的一部分也被强制。不能对部分强制的数值本身取消强制。在改变该地址的数值之前,必须取消使它被部分强制的地址的强制。
(3)梯形图程序的状态监视
PLC处于RUN方式并建立起通信连接后,选择菜单命令“调试(Debug)→程序状态(ProgramStatus)”,或者单击工具条中的程序状态按钮“”,在梯形图中可显示出各个编程元件的状态。如果位操作数为1(ON),触点、线圈将出现彩色块,并允许以最快的通信速度显示、更新触点和线圈的状态。可用菜单命令“工具(Tools)→选项(Options)”打开窗口,然后在窗口中选择“LAD编辑”标签,进行设置功能框的大小和显示方式。
被强制的数值用与状态表中相同的符号来表示,如:锁定图标表示该数值已被显式强制,灰色的锁定图标表示该数值已被隐式强制,半块锁定图标表示该数值被部分强制。
可以在程序状态中启动强制与取消强制操作,但不能使用状态表中提供的其他功能。
(4)语句表程序的状态监视
PLC在RUN方式下建立起通信连接后,选择菜单命令“凋试(Debug)→程序状态(ProgramStatus)”或单击工具条中的程序状态按钮“”,可以在语句表中启动程序状态控制。程序编辑器窗口被分成左侧的程序区和右侧的状态区。间接寻址的操作数将同时显示括号中指针的地址和指针所指的存储单元中的数值。可以根据要监视的数据类型对状态区进行设置。用菜单命令“工具(Tools)→选项(Options)”打开窗口,然后在窗口中选择“STL状态”标签,可有选择地在语句表程序状态中监控下列三类数值:
●每条指令最多监控3个操作数Op1、Op2和Op3。
●最多监控逻辑堆栈中4个当前的数值。
●最多监控11个指令状态位。
从CPU获取的信息限于200个字节或屏幕上的25行STL状态行。如果超过了这个限制,将会在状态窗口中显示“—”,状态信息从位于编辑窗口顶端的第一句STL语句开始显示。当向下滚动到编辑窗口时,将从CPU获取新的信息。
语句表程序状态监视可以连续不停地更新屏幕上的数值,但不能强制数值。要在语句表程序中强制数值,需使用状态表。如果需要暂停更新,可按“触发暂停”按钮“”,当前的数值保留在屏幕上,直到再次按该按钮。
状态数值的颜色表示指令的执行情况,黑色表示该指令被正确执行;红色表示指令执行时有错误;灰色表示指令没有被执行(其原因是栈顶的值为0,或该指令在一个没有被激活的SCR块中);空白表示该指令没有被执行。
(5)在RUN方式下进行程序编辑
建立好计算机与PLC之间的通信联系后,选择菜单命令“调试(Debug)→在运行状态编辑程序(ProgramEdit inRUN)”,CPU224和CPU226可在RUN方式下进行编辑。编辑前需退出程序状态监视,修改程序后,需要将其下装到PLC。下装之前一定要仔细考虑可能对设备或操作人员造成的各种安全后果。
如果在RUN方式编辑状态下,取消了一个输出控制逻辑,则该输出在下一次CPU上电或转换互STOP方式之前将保持上一状态。
如果在RUN方式编辑状态下取消一个正在运行的HSC(高速计数器)或PTO/PWN功能,则这些功能在下一次CPU上电或转换至STOP方式前将保持运行状态。
如果在RUN方式编辑状态下,取消了ATCH(中断连接)指令,但是没有删除中断程序,则在下一次CPU上电或转换STOP方式之前将继续执行中断。
如果在RUN状态取消DTCH(中断分离)指令,则在下一次CPU上电或转换到STOP方式之前,中断不会关闭。
如果在RUN方式编辑状态下,增加ATCH指令,并且以第一次扫描标志为条件,则在下一次CPU上电或转换到STOP方式之前,中断事件不会激活。
如果在RUN方式编辑状态下,删除了ENI指令,则在下一次CPU上电或转换到STOP方式之前,中断将继续执行。
如果在RUN方式编辑状态下,修改接收指令(RCV)的地址表,并且在新老程序切换时接收指令处于激活状态,则接收的数据写入老的地址表。NETW与NETR指令同样如此。
由于在RUN方式状态编辑不会影响第一次扫描标志SM0.1,因此在下一次CPU上电或转换到STOP方式之前,不会执行受控于第一次扫描标志的逻辑条件。
在RUN方式编辑状态下,可修改包含正跳变或负跳变(EU或ED)指令的网络,STEP 7Micro/WIN32暂时为程序中各EU/ED指令分配一个号码。激活RUN方式编辑功能时,交叉引用窗口使用标签列出当前指定的所有EU/ED指令。编辑程序时不要使用重复的EU/ED指令。
在RUN方式下装程序时,只能下装程序块,PLC需要一定的时间对修改的程序进行背景编译。选择菜单命令“调试(Debug)→在运行状态下编辑程序(ProgramEdit in RUN)”,可以退出RUN方式编辑。
6、调试程序的其他方法
1. 单次扫描
从STOP方式进入RUN方式,首次扫描位(SM0.1)在第一次扫描时为1状态。由于执行速度太快,在程序运行状态很难观察到首次扫描后的状态。
选择菜单命令“调试(Debug)→单次扫描(FirstScan),PLC从STOP方式进入,执行一次扫描后,回到STOP方式,可以观察到首次扫描后的状态。
2. 多次扫描
可以指定执行有限次的程序扫描次数(1~65535次)。通过选择扫描次数,当过程变量变化时,可以监视用户程序的执行。当PLC处于STOP方式时,用菜单命令“调试(Debug)→多次扫描(MultipleScans)”来设置扫描执行的次数。
3. 触发暂停功能的使用
用触发暂停功能可以在执行某一子程序或中断程序时,保持程序状态信息以供检查,并显示出要监控的那部分程序,启动“程序状态”功能,如果显示的是灰色(未激活)的状态信息,可以用触发暂停功能捕捉下一次该段程序被执行后的状态信息。
单击触发暂停图标或用鼠标右键单击处于程序状态的程序区,在弹出的菜单中选择“触发暂停”。获得新的信息后,它将保持在屏幕上,直到触发暂停功能被关闭。再次选择触发暂停功能可取消该功能。
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
启程培训中心http://www.gongkong8.com/
工控老鬼技术Blog:http://blog.sina.com.cn/wincchome
E-mail:gongkong8@foxmail.com
QQ空间:920500908
工控老鬼执着坚守,坚韧笃定,专注于工业自动化技术的传播和推广以及PLC培训深圳PLC培训启程PLC培训宝安PLC培训西门子PLC培训S7-200培训S7-300培训系统集成培训自动化培训WINCC培训EPLAN培训