| 注册| 产品展厅| 收藏该商铺

行业产品

当前位置:
上海卓曙自动化设备有限公司>>西门子PLC模块>>西门子S7-1500PLC>> 四川西门子S7-1500PLC模块代理(合作伙伴)

四川西门子S7-1500PLC模块代理(合作伙伴)

返回列表页
  • 四川西门子S7-1500PLC模块代理(合作伙伴)
  • 四川西门子S7-1500PLC模块代理(合作伙伴)
  • 四川西门子S7-1500PLC模块代理(合作伙伴)
  • 四川西门子S7-1500PLC模块代理(合作伙伴)
  • 四川西门子S7-1500PLC模块代理(合作伙伴)
收藏
举报
参考价 511
订货量 1
具体成交价以合同协议为准
  • 型号
  • 品牌 Siemens/西门子
  • 厂商性质 经销商
  • 所在地 上海市
在线询价 收藏产品

更新时间:2019-05-07 09:33:00浏览次数:333

联系我们时请说明是化工仪器网上看到的信息,谢谢!

同类优质产品

更多产品

产品简介

电动机功率 4kW 外形尺寸 2mm
重量 3kg
四川西门子S7-1500PLC模块代理(合作伙伴)
全新的西门子S7-1500PLC 带来了标准型,紧凑型,分布式以及开放式不同类型的 CPU 模块。凭借快速的响应时间、集成的 CPU 显示面板以及相应的调试和诊断机制,SIMATIC S7-1500 的 CPU *地提升了生产效率,降低了生产成本。

详细介绍

四川西门子S7-1500PLC模块代理(合作伙伴)

西门子PLC Modbus地址问题应用解析

  • 关键词: 西门子PLC PLC.Modbus地址
  • 摘要:Modbus地址实际上分为两种情况。下面以西门子S7-200/S7-200SMART为例来说明。

  Modbus地址实际上分为两种情况即PLC作Modbus主站,Modbus地址和PLC手册里的地址一与PLC作从站,PLC不用管什么Modbus地址。

  Modbus地址实际上分为两种情况。下面以西门子S7-200/S7-200SMART为例来说明:

  *种情况:PLC作Modbus主站,Modbus地址和PLC手册里的地址*,例如作主站的S7-200的MBUS_MSG指令用于向Modbus从站发送请求消息,和处理从站返回的响应消息。要读取从站(另一台S7-200)的I0.0开始的地址区时,它的输入参数Addr(Modbus地址)为10001。S7-200从站保持寄存器的V区起始地址为VB200时,要读取从站VW200开始的V存储区时,保持寄存器的地址是40001。

  第二种情况:PLC作从站,PLC不用管什么Modbus地址,等着主站来读写它的地址区就是了。

  主站的计算机软件(例如DCS或组态软件)的编程人员需要编写实现Modbus通信的程序,首先需要确定ModbusRTU的报文结构。他们一般不熟悉PLC,因此PLC的编程人员往往需要和上位机软件的编程人员一起来讨论Modbus的报文结构。

  容易出问题的就是报文里Modbus地址与PLC存储区地址的对应关系。曾经有工作人员做过的一个系统的上位机是的组态软件,通过分析GEPLC手册给出的CRC的循环异或计算实例每一步的中间数据,编写出了CRC计算的C语言程序。通过实验验证了Modbus报文结构和CRC的计算的可行性。

  S7PLC手册给出的Modbus地址与Modicon公司和GE公司PLC使用的地址相同,是基于1的地址,即同类元件的首地址为1。而西门子PLC采用的是基于0的地址,即同类元件的首地址为0。Modbus报文中西门子PLC的Modbus地址也采用基于0的地址。

  PLC系统手册中的Modbus地址的高位用来表示地址区的类型,例如I0.0的Modbus地址为10001。因为地址区类型的信息已经包含在报文的功能码中了,报文中S7-200的I0.0的Modbus地址不是10001,而是0。报文中其他地址区的Modbus地址也应按相同的原则处理。例如当S7-200从站保持寄存器的V区起始地址为VB200时,VW200对应的保持寄存器在报文中的Modbus地址为0,而不是40001。

PC和PLC自由口通信在数码显示中的具体应用

  • 关键词: PC PLC
  • 摘要:本文介绍了用可视化编程语言vb实现PC机与s7-200PLC之间的数据通讯技术及实现方法,研讨基于自由口通信模式的上下位机通信方式,通过分析其通信流程,开发相应的通信程序,并将其应用于数码显示监控系统中,实现了生产过程的自动控制,还有可视化的操作界面,充分体现了人机交互的优势。实践证明,这种通信方式简单,可靠,实时性好、成本低、便于调试,这种通信方式也可以应用于其它相关的通信场合,具有普遍和现实工程意义。

1 引言

  随着可编程控制器(PLC)技术的迅速发展,PLC以其通用性强、可靠性高、抗*力强、控制系统结构简单、编程方便及易于使用等优点,在我国各个厂业控制领域中得到了越来越广泛的应用,在计算机控制系统中占有着重要的地位,为实现工业生产过程自动化、改善控制系统品质、提高企业经济效益起着积极的作用。

  西门子公司生产的s7-200系列小型PLC,以其功能强大,使用稳定且性价比高而在中国市场上占有很重要的地位,深得用户的喜爱。其内部集成的通信接口为用户提供了强大的通信功能,根据不同的协议通过接口使得PLC可与不同的设备进行通信并组成网络,实现数据传送及控制等功能。s7-200系列PLC支持多种通信协议,其中包括西门子产品之间所使用的ppi协议,用于多机之间通信的mpi协议,和变频器之间通信的uss协议,以及用户可以白行开发的白由口协议。尤其是自由口协议,它为用户在使用时,提供了很多方便之处。

2 系统硬件配置

  本系统主要上位机、下位机、打印机和电气控制柜等组成。系统采用一台x86兼容电脑作为上位机,其配置如下:操作系统是windows xp专业版;处理器是英特尔celeron 2.40ghz;内存是ddr400 1g;硬盘是希捷80g;显示器:三星纯平17英寸;光驱是三星cd-rom。系统还采用s7-200系列PLC作为下位机,*处理单元为西门子公司推的PLC采用s7-200系列cpu226,该cpu在本机体中集成了2个rs-485通讯口,其性价比高,能满足本系统的所有要求。

  考虑到上位机的串行通信协议为rs-232标准,而西门子s7-200PLC的串行通信协议为rs-485标准,因此可以采用具有rs-232/rs485转换功能的PC/ppi电缆将其连接起来,便可实现上下位机之间的串行通信的协议转换,其硬件连接如图1所示。

 

3 系统控制任务

3.1 上位机控制任务

(1)控制要求描述:a、b、c、d、e、f、g、h是组成0到9数字的八组数码信号灯,数码显示PLC控制的任务是首先八组数码信号灯依次亮,每组灯只亮一次,亮后熄灭,接着下一组亮,如此循环直至八组灯亮完,然后依次显示由八组数码信号灯组成的0到9数字,显示9后,八组数码信号灯依次亮,循环下去,示意如下:

a→b→c→d→e→f→g→h→abcdef→bc→abdeg→abcdg→

bcfg→acdfg→acdefg→abc→abcdefg→abcdfg→a→b→c……

(2)i/o分配:根据上位机控制任务,对PLC的输入输出端口分配如表1所示。

3.2 上位机监控内容

  上位机监控软件的开发平台选择vb 6.0作为windows环境下的一种可视化编程工具,vb6.0在开发监控系统方面有着界面友好、编程方便等*优势。根据上位机控制任务,用vb 6.0软件做的监控界面如图2所示。

  我们通过运行上位机PLC程序和vb程序,实现对数码显示的控制,并通过自由口通信,促使数码灯颜色改变,从而PLC控制信号反映在基于vb的监控画面上。对于监控界面图,信号灯亮与不亮的颜色会发生变化。当信号灯亮时,对应的文本框显示1;当信号灯不亮时,对应文本框显示0。

4 PC机与s7-200系列PLC通信设计

4.1 PC机与s7-200系列PLC通信原理

  上下位机之间的通信,可通过使用PLC开发商提供的系统协议和网络适配器来实现,但由于其通信协议不公开,因此还必须使用PLC开发商提供的上位机组态软件,并采用支持相应协议的外设。可以说这种方式是PLC开发商为自己的产品量身定做的,因此难以满足不同用户的需求。

  上下位机之间的通信,也可以使用专业的工控组态软件,如组态王、intouch、wincc等,来实现上下位机之间的通信。这些组态软件以其功能强大、界面友好、开发简洁等优点目前在计算机监控领域已经得到了广泛的应用,但其成本较高,而且在小型系统中使用不够灵活。

  而自由通信接口协议,可由用户自定义通信协议,不需要增加投资,并且具有与外围设备通信方便、易于微机控制软件开发等特点,特别适合于小规模的计算机控制系统。

  s7-200系列PLC的通信端口主要有两种通信模式:ppi模式和自由口模式。ppi通信协议是西门子公司专门为s7-200系列PLC开发的一种通信协议,一般不对外开放。而自由口模式则是对用户*开放的。在自由口模式下通信协议是由用户定义的。在自由口模式下PC机与PLC之间是主从关系,PC机始终处于主导地位,计算机通过串行口发送指令到PLC的通信端口,PLC通过rcv接收指令信息,然后对指令进行译码。译码后再调用相应的子程序实现PC机发出的指令要求并通过xmt指令返回指令执行的状态信息。本上下位机通信系统通信原理如图3示。

4.2 PLC通信程序设计

  s7-200PLC控制程序则使用step7-micro/win32编程软件进行开发。step7-micro/win32编程软件是基于windows的应用软件,功能强大,主要用于开发程序,也可用于适时监控用户程序的执行状态。s7-200PLC的cpu连续执行用户的程序,任务的循环写输出序列称为扫描。cpu的扫描周期如图4所示。

  为了不延长cpu的机时,缩短s7-200 PLC的扫描周期,通信程序应尽可能短小。

自由通信模式下PLC的控制程序可以使用接收中断、发送中断、发送指令(xmt)和接收指令(rcv)来控制通信操作。s7-200的cpu处于run模式时,能够进行自由端口通讯。在这一模式下,用户可以通过PLC程序来选择协议,可以使用接收中断、发送中断、发送指令(xmt)和接收指令(rcv)来进行通信操作。在run模式下,对于port0(port1),当smb30协议选择域(mm)置1(smbi30协议选择域(mm)置1)时,便选择了自由端口模式。在stop状态下,自由端口模式被禁止,cpu能够与可编程设备(如编程器)之间通信。

  PLC程序分为主程序和中断程序。主程序完成初始化通讯口、开中断、判断、发送数据等功能,中断程序完成接收和发送数据的功能。接收指令(rcv)启动或终止接收信息功能,必须为接收操作开始和结束条件。发送指令(xmt)在自由口模式下依靠通信口发送数据。

初始化通信程序:

ld sm0.0

movb 16#05, smb30 // // 初始化自由口:sm30=“ppdbbbmm” =16#05=0000

0101

movb 16#b0, smb87 // // 初始化rcv信息控制字符:sm87=16#b0 =1011 0000

movb 16#0a, smb89 // // 设定信息结束字符为“16#0d”(smb89 =“16#0d”)

movw +5, smw90 // // 设置空闲线超时时间为5ms (smw90=5)

movb 100, smb94 // // 设置大字符数为100(smb94=100)

atch int_0, 23 // // 连接中断0到接收结束事件

atch int_2, 9 // // 连接中断2到发送结束事件

eni // // 允许用户中断

rcv vb100, 0 // // 执行接收指令,接收缓冲区指向vb100

4.3 vb通信程序设计

  上位机通信软件是在vb环境下开发的,vb语言是基于windows操作系统的面向学习对象的程序设计语言。因vb具有强大的图形显示功能,可以很容易地开发出界面良好、满足用户需求的windows标准风格的图形界面。vb带有专门管理串行通信的mscomm串行端口控件,程序员在利用该控件时,只需设置、监视其属性和事件,即可完成对串行口的初始化和数据的传输工作,实现PLC与PC串行通信。要完成通信必须设置mscomm的如下相关属性值:

(1)commport:设置或传回通信连接端口代号。

(2)settings:设置初始化参数,以字符串的形式设置或传回连接速度、奇偶校验、数据位和停止位等参数。

(3)portopen:设置或传回通信连接端口的状态。

(4)input:从输入寄存器传回并移除字符。

(5)output:将一个字符串写入输出寄存器。

(6)inputlen:由串行端口读入的字符串长度。

(7)inbuffercoun t:传回在接收寄存器中的字符数。

用vb编制的部分通信程序如下:

程序过程名:mscomm1_on comm。它的作用:完成上位计算机(vb监控程序)与下位机(PLC)之间的串行通信。程序如下:

private sub mscomm1_oncomm()

static scoms as string

dim s1 as string

if mscomm1mevent = comevreceive then

s1 = mscomm1.input

if (s1 = chr(&h1b)) and (len(scoms) 》 2) then

scoms = “”

else

if s1 《》 chr(&hd) then

scoms = scoms & s1

else

call mysave(scoms)

end if

end if

end if

end sub

程序过程名:mysave。它的作用:对从下位机(PLC)传输到上位机(vb监控软件)的数据进行初始化处理。程序如下:

private sub mysave(scoms as string)

scoms = trim(scoms)

scoms = mid(scoms, 1, 10)

for i = 1 to 8

text1(i).text = mid(scoms, i, 1)

next i

for i = 0 to 1

text2(i).text = mid(scoms, i + 9, 1)

next i

end sub

程序过程名:form_load。它的作用:完成窗体载入时的程序设置。

private sub form_load()

timer1.enabled = true

timer1.interval = 100

with mscomm1

.settings = “19200,n,8,1”

.inputmode = cominputmodetext

.rthreshold = 1

.inputlen = 1

end with

if mscomm1.portopen = false then

mscomm1.portopen = true

end if

end sub

5 结束语

  本文介绍了用可视化编程语言vb实现PC机与s7-200PLC之间的数据通讯技术及实现方法,研讨基于自由口通信模式的上下位机通信方式,通过分析其通信流程,开发相应的通信程序,并将其应用于数码显示监控系统中,实现了生产过程的自动控制,还有可视化的操作界面,充分体现了人机交互的优势。实践证明,这种通信方式简单,可靠,实时性好、成本低、便于调试,这种通信方式也可以应用于其它相关的通信场合,具有普遍和现实工程意义。

四川西门子S7-1500PLC模块代理(合作伙伴)

其他推荐产品

更多产品

收藏该商铺

登录 后再收藏

提示

您的留言已提交成功!我们将在第一时间回复您~
二维码 意见反馈
在线留言