要想在三菱触摸屏编程软件GT155中输入M0.0,与S7-200实现通讯控制,如何在触摸屏中输入M0.0,只能输入M0、M1等。

西门子S7-200 SMART与SMART LINE IE触摸屏通信的故事
查看: 7767|
评论: 0|原作者: Automann|来自: 西门子工程师故事
摘要: 1 组态触摸屏Smart 700 IE具有很高的性能价格比,使用WinCC flexible 2008 SP4组态。图1是S7-200 SMART的主程序,图2是组态的画面,M0.0和M0.1是触摸屏上的按钮产生的起动信号和停止信号,用画面上的指示灯显示Q0.0的状态。PLC进入RU ...
1& 组态Smart 700 IE具有很高的性能价格比,使用WinCC flexible 2008 SP4组态。图1是S7-200 SMART的主程序,图2是组态的画面,M0.0和M0.1是触摸屏上的按钮产生的起动信号和停止信号,用画面上的指示灯显示Q0.0的状态。进入RUN模式时将T37的预置值(10s)传送给VW2,定时器T37和它的常闭触点组成了一个锯齿波发生器,T37的当前值按锯齿波变化。用IO域显示T37的当前值VW0,和修改它的预置值VW2。打开WinCC flexible,创建一个新的项目。打开“连接”编辑器,双击连接表的第一行,自动生成的连接默认的名称为“连接_1”,默认的通信驱动程序为“SIMATIC S7-200”。用连接表下面的属性视图的“参数”选项卡设置“接口”为以太网、PLC和设备的IP地址分别为192.168.2.1和192.168.2.3,其余的参数使用默认值。
图1& S7-200 SMART的程序
图2& 触摸屏的画面2& 用控制面板设置触摸屏的参数接通Smart 700 IE的后,出现装载程序对话框。单击其中的“Control Panel”按钮,打开触摸屏的控制面板(见图3)。
图3& 触摸屏的控制面板双击控制面板中的“Ethernet”图标,打开以太网设置对话框,设置IP地址192.168.2.3,子网掩码是自动生成的。选中多选框“Auto Negotiation”,激活自动检测和设置以太网的连接模式和传输速率,同时激活“自动交叉”功能。采用默认的以太网的传输速率(10 Mbit/s)和默认的通信连接“Half-Duplex”(半双工)。双击控制面板中的“Transfer”图标,打开传输设置对话框。选中“Channel 2”(通道2)域以太网通信的“Enable Channel”(激活通道)和“Remote Control”(远程控制)多选框,HMI和PLC通过以太网通信。3& PLC与触摸屏通信的实验1.设置计算机的以太网端口参数打开计算机的控制面板,双击其中的“网络连接”图标。在“网络连接”对话框中,用鼠标右键单击计算机与HMI通信的网卡对应的连接图标,例如“本地连接”图标,执行出现的快捷菜单中的“属性”命令,打开“本地连接属性”对话框。选中“此连接使用下列项目”列表框最下面的“Internet协议(TCP/IP)”,单击“属性”按钮,打开“Internet协议(TCP/IP)属性”对话框。用单选框选中“使用下面的IP地址”,键入以太网端口的子网地址192.168.2,IP地址第4个字节是子网内设备的地址,可以取0 ~ 255的某个值,但是不能与HMI的IP地址重叠。单击“子网掩码”输入框,自动出现默认的子网掩码255.255.255.0。不用设置网关的IP地址。单击WinCC flexible工具栏上的按钮,打开“选择设备进行传送”对话框,设置通信模式为“以太网”。将Smart 700 IE的IP地址设置为192.168.2.3,应与Smart 700 IE的控制面板和WinCC flexible的“连接”编辑器中设置的相同。用以太网电缆连接计算机和Smart 700 IE的以太网端口,单击“选择设备进行传送”对话框中的“传送”按钮,该项目被传送到触摸屏。打开STEP 7?Micro/WIN SMART,将程序下载到S7-200 SMART。用以太网电缆连接S7-200 SMART和Smart 700 IE,接通它们的电源,令PLC运行在RUN模式。因为PLC程序的运行,画面上T37的当前值不断增大,达到预设值时又从0开始增大。单击画面上“T37预设值”右侧的输入域,修改T37的预设值。屏幕显示的T37的当前值的变化范围随之而变。可以用画面上的“起动”按钮M0.0和停止按钮M0.1,通过PLC程序的运行,改变变量“”Q0.0的状态,画面上与该变量连接的指示灯的状态随之而变。此外,作者还做过使用Smart 700 IE和CPU集成的串口通信的实验,和用RS-232/RS-485串行通信信号板,与Smart 700 IE的RS-485端口通信的实验。作者主编的《S7-200 SMART 及应用》详细介绍了上述实验的实现方法。
上一篇:下一篇:
看过《西门子S7-200 SMART与SMART LINE IE触摸屏通信的故事》的人还看了以下文章:
Powered by &
这里是—这里可以学习 —这里是。
栏目导航:在威纶通触摸屏上怎么显示西门子S7-200模拟量模块输入信号_百度知道
在威纶通触摸屏上怎么显示西门子S7-200模拟量模块输入信号
我有更好的答案
1.模拟量模块输入信号转化为VW1002在威纶通触摸屏上组态读取VW100就可以了
把模块的输入 信号写到位存储器中,如M10.0等,然后在储模屏上写上对应的位的寄存器线圈做监控如M0.0(
为您推荐:
其他类似问题
您可能关注的内容
威纶通触摸屏的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。| 工艺 | |
当前位置: && &&
基于.NET的计算机与S7-200 PLC自由口通信的实现
添加:不详
摘要:介绍了S7-200 PLC和计算机的通信方式,详细说明了自由口模式下PLC与计算机通信的实现方法,包括自由口工作的通信流程,计算机指令帧格式约定,PLC反馈帧的格式约定等。编写了S7-200 PLC的自由口通信程序,在上位机中用.net环境下的C#语言开发了计算机与PLC的串行通信程序,可灵活实现对PLC存储区数据的读写功能。 关键词: PLC; .NET; C#;自由口通信中图分类号:TP393&& 文献标识码: AFree-port Communication Method between PC and S7-200 PLC based on .NETLU QingAbstract: The communication method between S7-200 PLC and computer is introduced and the S7-200 PLC communication under the free-port is illuminated in detail, which mainly includes working process, computer instruction format and PLC feedback information format. The serial communication program between computer and S7-200 PLC based on C# is programmed, where host computer can read and write any kinds of data in PLC to meet the requirement of the system . Key words: PLC; .NET; C#; Free-port Communication 引言&&&&&&& PLC作为一种高效、灵活、可靠的控制器,已经广泛地应用在包括数字逻辑控制、运动控制、闭环过程控制、数据处理和联网通信等工业控制领域。在联网通信方面,PLC与上位计算机设备一起,可以组成“集中管理、分散控制”的分布式工业控制系统。在这种控制系统中,PLC与上位机的通信对系统整体性能有着较大的影响。面对众多厂家不同类型的PLC,它们在功能编程上没有统一的标准而且在通信协议上也是千差万别,选择一种即能满足通信要求又经济实用的通信协议是非常关键的。本文以S7-200PLC为对象,详细研究了S7-200PLC在自由端口模式下与PC之间的通信方法,并采用.net环境下的C#语言编写通信程序实现了计算机与PLC之间的通信。这种通信方式硬件投入低,通信协议灵活,可以在多个工业控制领域得到广泛的应用。
1&S7-200 PLC与上位机的通信方式&&&&&& S7-200 系列PLC与上位机进行通信主要有以下几种方式:(1)通过S7-200 PLC的OPC服务器(pc access)作为上位机的OPC服务器, 这种方式只须在OPC服务器中配置相应的测点数据,编程简单,但通信速率不高,用户不能自由修改通信协议;(2)利用触摸屏,这种方式需要根据触摸屏兼容的通信协议进行选择,通信可靠性高, 但灵活性差,触摸屏界面编程功能也不够强大;(3)利用通用编程软件实现,这种方法虽然系统开发工作量大,对技术人员的水平和经验都要求较高,但编程灵活,可以实现比较复杂的功能。本文采用了第三种通信方式,在开发通信软件时考虑了S7-200 PLC所特有的一种通信方式—自由口通信模式。在自由口模式下用户可自定义协议,利用串口和PLC的通信口来收发数据,通信功能完全由用户程序控制,通信任务和信息定义均需由用户编程实现,通过调用子程序来进行接收中断、发送中断、发送指令(XMT)、接收指令(RCV)等通信控制操作。
2&自由口通讯工作模式的定义&&&&&& 在中小规模系统,通信速率要求不是特别高的情况下,S7-200 PLC自带的编程口可以作为通信口使用。S7-200 PLC编程软件与PLC进行通信所利用的PPI协议实质也是一种RS-485通信,它可在多种模式下工作,其中自由口通信功能是S7-200 PLC的一个独特的功能。在自由口通信方式下,S7-200 PLC可以与任何协议公开的设备、控制器进行通信,最高波特率可达38.4kbit/s。一般上位机串行口符合RS-232C标准协议,为了与PLC的RS-485通信则必须进行协议转换。在PLC编程方面,自由口模式下的通讯协议主要就是自由口通信工作模式控制字的定义以及发送和接受数据指令的格式约定及其参数设置等。
2.2& 接收指令(RCV)&&&&&& RCV(接收指令)从S7-200 PLC的通讯口接收一个或多个数据字节。接收的数据字节保存在接收数据缓冲区中。接收指令完成后,会产生一个中断事件(对Port0为中断事件23,对Port1为中断事件24)。启动接收指令后,CPU的通讯控制器就处于接收状态。使用接收指令时需要设置消息起始和结束的判断条件,通讯控制器用这些条件来判断消息的开始和结束。当判断消息结束时接收状态终止,否则通讯口会一直处在接收状态。由于S7-200 PLC的自由口通讯是建立在RS-485半双工通讯的基础上,接收和发送不能同时进行,接收指令不结束,就不能执行发送指令。对几个重要的特殊存储区设置举例如下:MOVB&& 16#EC, SMB87(允许接受,检测起始字符和结束字符,超时检测)MOVB&& 104, SMB88(发送报文起始字符为h) MOVB&& 72, SMB99(结束字符为H)MOVB&& +1000, SMB92(接受超时时间为1s) MOVB&& 35, SMB94(接受最大字符数为35)2.3& 发送指令(XMT)&&&&&&&& XMT 发送指令利用数据缓冲区指定要发送的字符,用于向指定通信口以字节为单位发送一串数据字符,发送命令格式为 XMT TABLE,PORT, 其中TABLE为数据存储区地址,PORT指定PLC要发送数据的端口。一次最多发送255个字节。XMT 发送指令完成后,会产生一个中断事件(Port0为中断事件9,Port1为中断事件26)也可以监视发送完成状态位SM4.5和SM4.6的变化来产生XMT中断。
3&S7-200 PLC 通信程序设计3.1& 通信程序流程&&&&&& 本程序中S7-200 CPU从通讯端口0接收字符串,使用RCV指令和接受完成中断接受数据,以自定义协议来实现计算机与S7-200PLC之间的数据通信时,为了避免通信中的各方争用通信线路,一般采用主从方式,即计算机作为主机,向作为从站的S7-200 PLC端口0发送规定格式的报文。&&&&&&& 当S7-200 PLC接收到指令后进行相关的数据校验, 这里采用BBC校验方式,即将每一帧的第一个字节(不包括起始字符)到该帧中正文校验码之前的所有字节作异或运算(本例中是从VB101到VB130),并将校验码作为报文一部分发送到计算机。在PLC接收端也要对接收缓冲区的数据进行BBC校验,然后与指令中的校验码比较,如果校验码相等则置位M0.0,PLC执行命令并将所接收到的数据反馈给计算机;如果校验码不相等, 则置位M0.1并返回带有校验码错误的反馈信息,通信流程图如图1所示。&&&&&
&&&&&&&&&& 图 1 PLC通信流程图3.2& 通信帧格式约定&&&&&&& 计算机每次发送一个33字节的指令来实现一次读写操作。每条指令都包括起始字符、结束字符、目标站地址、目标寄存器地址、要读写的字节数、要写入的数据和校验码。S7-200 PLC接收到计算机发送来的数据,先存放在PLC的接收缓冲区,设定以VB100开始。自定义的接收缓冲区的数据设计格式见表1表 1 PLC接收数据缓冲区VB100&接收到的字节数VB101&起始字符VB102&指令类型(读/写)VB103 VB104&目标站地址VB105~VB112&目标寄存器地址VB113 VB114&读写字节数VB115~VB130&要写入的数据VB131 VB132&校验码VB133&结束字符
&&&&&& 为避免在通信中由于指令中的起始字符或者结束字符与传输的数据有重复而导致PLC的误动作,这里采用文本传送二进制数据,即通过以16进制的ASCII码的格式来描述数据,让每个二进制的字节都表示成一对ASCII编码的16进制字符。比如48H可表示为34H、38H两个字节。指令类型自定义为05H代表读操作,06H代表写操作。目标寄存器地址采用四个字节表示,前两个字节表示寄存器类型,后两个表示寄存器号,例如:VB101的地址可表示为08 00 00 65,其中“08 00”表示V寄存器区,“00 65”表示寄存器号101。目标寄存器地址表示方法如表2所示:
PLC接收上位机的指令后会返回一个21字节的反馈信息。自定义的发送缓冲区的格式如表3所示:表 3 PLC发送缓冲区格式VB153&VB154&VB155&VB156~VB171&VB172 VB173&VB174发送字符数&起始字符&状态信息&发送数据区&校验码&结束字符
&&&&&& 其中VB155状态信息的格式定义为:01H代表读入正确,02H代表写入正确,03H代表校验码错误,04H代表指令不合法。3.3& 主要程序设计&&&&&& 本系统PLC程序设计采用模块化设计,主要包括主程序、初始化子程序、读子程序、写子程序、校验子程序、接收完成中断程序和发送完成中断程序。&&&&&& 主程序负责判断读写条件和调用各个子程序,具体包括判断PLC运行模式;调用初始化子程序;判断本机站号、指令类型和校验码等是否符合读写程序;调用读、写子程序;接收数据等。&&&&&& 在初始化子程序中主要设置一些通信参数和RCV接收参数并开启接收完成中断0和发送完成中断1。在读写子程序中根据接收到的指令信息读取目标寄存器数据或者把数据写入目标寄存器中,并利用XMT发送反馈信息到计算机。读写程序如下:读子程序:LD&& SM0.0R&&& SM87.7, 1& (禁止接收)R&&& M0.0&&& (复位校验位)RCV&&& VB100, 0MOVB& 103, VB154& (送返回信息起始字符为g)MOVB& 1, VB155&&& (状态信息读取正确)HTA&& *VD135,VB156,16(将要读取的数据做16进制转ASCII码转换)MOVB& 71, VB174&&& (结束字符为G)MOVB& 21,VB153& (发送字节数为21个字节)……&& (校验发送数据)LD&&& SM4.5(端口0发送空闲时置1)XMT& VB153, 0写子程序与读程序类似,只是要对写入的数据做ASCII码转换:MOVD& &VB115, VD145(装入要写的数据源的地址指针)ATH&& *VD145, *VD135, VB139(对要写入的数据做ASCII码转16进制转换)……XMT& VB153, 0
4&上位机C#编程&&&&&& 在WINDOWS环境下开发与PLC的通信软件,利用 .net环境下的通信组件SerialPort [3] 实现通信,并用 Visual C# 编写软件程序。该通信组件提供了使用RS232开发串行通信软件的细则,组件主要属性如表4所示:
&&&&&& .net环境下的SerialPort组件没有像传统的Visual Basic 6.0中的MSComm.PortOpen = True/False属性,所以打开关闭串口相应的是调用类的Open()和Close()方法。SerialPort组件读取数据的许多方法是同步阻塞调用,应尽量避免在主线程中调用,可以使用异步处理或线程间处理调用这些读取数据的方法,采用这种方式可以显著提高系统的工作性能,这也是.net环境与Visual Basic 6.0编程环境的不同之处。SerialPort组件的串口属性要设置成与PLC串口参数相同的数值,例19200bit/s,无检验,1位停止位,8个数据位。触发SerialPort组件接收数据的事件是DataReceived事件,设置ReceivedBytesThreshold为1表示立即接收。由于DataReceived事件在辅线程被引发,而收到完整的数据要在主线程窗体上显示,所以要用到跨线程处理,在C#中可采用控件异步委托BeginInvoke的方法窗体显示收到的数据。SerialPort接收主要程序如下:private void serialPort1_DataReceived(object sender, SerialDataReceivedEventArgs e)&&&&&&& {&& int int_Len = serialPort1.BytesToR//接收字节数byte[] bytes2 = new byte[int_Len]; //接收字节serialPort1.Read(bytes2, 0, int_Len); //读入串口数据string st1 =ToHexString(bytes2);& //转换数据为16进制显示MyInvoke iv1 = new MyInvoke(Display); //异步委托调用显示数据ReceiveBox1.BeginInvoke(iv1, new object[] { st1 });}编写的通信界面如图2所示:&
图 2 PLC串口通信界面&&&&&&& 在这个通信界面下可以自由设置串口参数,当设置好通信参数、命令类型和寄存器参数后,即可发送指令数据,命令类型中05代表读,06代表写。操作界面分为手动发送和定时循环发送,利用自动定时发送可实时的读取PLC中的参数,也可利用手动发送把数据写入PLC或从PLC中读出。发送流程图如下:&&&
&&&&&&&&&&&&&&&&&&& 图 3 计算机发送流程图5&结束语&&&&&& 本文采用自由口通信方式实现了计算机和PLC的通讯,上位机采用C#开发通信软件。由于自由端口模式通信用户投资较低,编程时可以自定义通信协议并能灵活的与各种通信设备通信,且PLC程序具有模块化、结构化的特点,各种子程序可移植性好,因此在各种分布式控制系统和需要计算机处理数据的场合中会得到很好的运用和发挥。
6&参考文献[1] 廖常初.PLC编程及应用[M].北京:机械工业出版社,2005[2] SIMATIC S7-200可编程控制器技术手册[M].2002[3] PRICE,J.等著,窦芳等译.Visual C#.NET 从入门到精通[M].电子工业出版社,2003[4] 章立民.Visual C# 2005 程序开发与界面设计秘诀[M].机械工业出版社,2006[5] 陈小刚,裴开平.计算机与PLC串行通信的实现[J].河海大学常州分校学报,)[6] 孙旭松,胡雪梅.PLC 与上位机的通信实现[J].科技资讯,2006(25)
作者:未知 点击:2960次
本文标签:基于.NET的计算机与S7-200 PLC自由口通信的实现
* 由于无法获得联系方式等原因,本网使用的文字及图片的作品报酬未能及时支付,在此深表歉意,请《基于.NET的计算机与S7-200 PLC自由口通信的实现》相关权利人与机电之家网取得联系。
关于“基于.NET的计算机与S7-200 PLC自由口通信的实现”的更多资讯
:枣强县昱诚玻璃钢制品厂
&【求购】 &采购电源&&
&【求购】 &采购变送器&&
&【求购】 &采购游乐设...&&
&【求购】 &采购集尘机&&
&【求购】 &采购读写器&&
&【求购】 &采购风化石&&
&【求购】 &采购阴极灯&&
&【求购】 &采购摇罐机&&
VIP公司推荐在S7 200中M0.0是什么意思_百度知道
在S7 200中M0.0是什么意思
M辅助继电器,和传统的继电器控制电路中的中间继电器相同,借助于辅助继电器的编程,可在输入和输出之间建立复杂的逻辑关系和连锁关系。在S7-200(CPU224XP)中,辅助继电器M的个数为256个,编址范围为M0.0~M31.7,M0.0就是其中一个位存储器。
他是不是可以存储输入输出状态啊,这个图片里面的M0.0和M0.1存储的是什么啊?
这里面没啊 加QQ聊吧
采纳率:36%
为您推荐:
其他类似问题
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。

我要回帖

更多关于 三菱触摸屏编程软件 的文章

 

随机推荐