西门子模块6ES7216-2AD23-0XB8诚信交易

2024-05-08 07:10 180.174.43.110 1次
发布企业
浔之漫智控技术-西门子PLC代理商商铺
认证
资质核验:
已通过营业执照认证
入驻顺企:
2
主体名称:
浔之漫智控技术(上海)有限公司
组织机构代码:
91310117MA1J3R698D
报价
请来电询价
关键词
西门子代理商,西门子模块代理商,西门子一级代理商,西门子PLC代理,西门子中国代理商
所在地
上海市松江区石湖荡镇塔汇路755弄29号1幢一层A区213室
手机
15221406036
经理
聂航  请说明来自顺企网,优惠更多
请卖家联系我
15221406036

产品详细介绍

西门子模块6ES7216-2AD23-0XB8诚信交易

三菱A900系列触摸屏与西门子S7-300系列PLC连接

   目前,三菱电机的人机界面产品主要包括GOT-A900系列和GOT-F900系列两种。
对于GOT-A900系列,在使用之前需要安装OS(包括基本OS、通讯驱动等)。其中的通讯驱动需要根据所连接的对象以及所采用的连接方式选择安装。
以A970GOT为例,应在A970GOT上安装A9GT-RS2串行通讯板,并安装对应的通讯驱动(SIEMENS S7-300/400),且需通过西门子制造的HMI Adapter(6ES7 972-0CA11-0XA0)与西门子S7-300系列PLC进行连接。
1.西门子S7-300系列PLC的设置:
在STEP7软件中按照以下步骤进行设置。


① 双击“SIMATIC 300”项。

PLC资料网
② 双击“Hardware”项。


③ 双击“CPU 315-2 DP”一栏。

  
④ 点击“Properties…”按钮,在弹出的对话框中进行如下设置:


⑤ 在“SIMATIC Manager”窗口的“Options”菜单中选择“Set PG/PC Interface”。


⑥ 双击“PC Adapter(MPI)”一栏,并进行如下设置:


⑦ 选择“Local Connection”选项卡,并进行如下设置:


2.GOT的设置:
在GOT实用菜单的“SETUP”中设置如下:


3.西门子HMI Adapter与GOT(A9GT-RS2)接线图如下:


西门子制造的电缆(6ES7 901-1BF00-0XA0)也可使用。

对于GOT-F900系列(F940GOT,F930GOT),需通过其内置的RS232C口经由西门子制造的HMI Adapter(6ES7 972-0CA11-0XA0)与西门子S7-300系列PLC进行连接。
1. 西门子S7-300系列PLC的设置(同上)
2. GOT的设置:
在GOT的系统画面中设置如下:
DST站号(目标站号)根据在S7-300中的设置应设为2。
3. 西门子HMI Adapter与GOT(RS232C口)接线图如下:(同上)

、概述

Hilscher NETbbbb用于将西门子MPI协议转换为以太网TCP/IP协议,并提供公开的无需授权的驱动函数库。

NETbbbb有三种应用:

1、对于仅仅需要STEP7编程监控和WINCC监控,安装IBHNET127驱动即可,该驱动安装后将在控制面板的Set PG/PCInterface中添加IBHNet MPI/PPI/Profibus三个驱动连接;将STEP7(S7ONLINE)和WINCC(MPI)的访问点指向以上驱动连接即可。

2、对于第三方组态软件(如KingView、iFix等)通过NETbbbb访问PLC,选择我公司开发的OPCServer。

3、对于VB或者VC++(6.0以上版本)的自行开发界面,有两种方法实现通讯:

l          调用Hilscher提供的IPDriver驱动函数库进行通讯;

l          使用winsock控件进行通讯;

 

本文对在VB6.0中通过Hilscher IPDriver驱动库读写S7300/400 PLC数据的基本开发步骤作简要描述,具体资料可以参考NETbbbb光盘netDEVICESystem Software中的Nlmpi_pie.pdf和Drv_Ip.pdf文件,该光盘可到 http://www.gkong.com/co/beichen-automation/index_downloadbbbb页面中下载。

 

二、平台和配置

1、平台:bbbbbb2000+SP4,Microsoft VB6.0;

2、软件和驱动安装:Hilscher SYCON软件和IP Driver;

3、硬件要求:NETbbbb电缆一根,西门子S7300CPU一台(如CPU314),以太网交换机一台(如TP-bbbb),以太网电缆;

4、系统配置:如下图所示

 

三、NETbbbb参数配置

如上图所示,将计算机网卡的IP地址配置为192.168.1.10,将NETbbbb的RJ45端口链接到交换机端口上,另一端插入CPU314的MPI通讯口,NETbbbb是由CPU314的MPI口供电的。如果CPU上已经连接了其他监控设备如触摸屏,则可以选用西门子带编程口的网络插头。

在NETbbbb链接到MPI端口后的三分钟内(上电三分钟内)运行[开始]-[程序]-[Hilscher IPDriver]-[NetIdent Demo Program],点击[StartPoll]按钮自动查找网络上的NETbbbb,找到后将会显示NETbbbb信息,NETbbbb出厂默认IP地址为0.0.0.0,选择显示的NETbbbb并点击[SetIP]按钮,设置IP地址为192.168.1.88;如果软件找不到NETbbbb,请用PING命令检查网络是否链接正确。

注意1:通过NetIdent设定的IP地址是临时的,在NETbbbb上电后将自动恢复到原来的IP地址;

注意2:NETbbbb上电的三分钟内允许通过NetIdent设定其IP地址,三分钟后设定将被拒绝;

设定好NETbbbb的IP地址后运行[开始]-[程序]-[SyCon SystemConfigurator],新建项目并添加NETbbbb设备,双击NETbbbb并设定网络参数,IP地址设为192.168.1.88,选择自动检测接口和自动速率识别,NETbbbb的MPI地址设定为1(注意不要和MPI网络上其他站点地址冲突);设定好参数后将其下载到NETbbbb。(具体可以参考《Netbbbb和IBHNet驱动在SIEMENSSTEP7 WINCC中的使用说明.doc》中的描述)

注意3:通过SYCON软件设定的IP地址是固定的,在NETbbbb上电后不会改变;

四、IP Driver参数配置

运行[开始]-[程序]-[Hilscher IP Driver]-[IP Driver Setup],在Connection0中输入NETbbbb的IP地址:192.168.1.88、1099、TCP、Client、5000;

运行[开始]-[程序]-[Hilscher IP Driver]-[IP Driver Test],在菜单[Connectionselect]中选择Connection 0,连接后进行其他菜单的测试,如[Driver Info]等,如果测试正常说明IPDriver已连接到NETbbbb。

 

五、VB应用

应用举例:

1、   按下[循环启动]按钮后周期性读取MW0的数值(间隔100ms),直到按下[停止]按钮。

2、   按下[写入新值]按钮命令将新值写入MW0。

3、   [复位NETbbbb]按钮初始化NETbbbb。

 

演示界面如下图所示:

 

开发步骤:

1、    新建VBEXE工程,将NETbbbb光盘中Api\Demo\VBASIC32\CIFUSER.BAS模板文件复制到VB工程中并取消只读属性;添加到工程中,打开CIFUSER.BAS模板,加入以下常数申明:

'新增常数

Public Const TASK_TDT_UINT8 = 5

Public Const TASK_TFC_READ = 1

Public Const TASK_TFC_WRITE = 2

2、    新建模块Module1,添加以下公共变量和API函数:

Public Const usSize = 288                  '消息长度常数=288

Public SndMsgRead As MSG_STRUC             '读取MW0数据的消息

Public SndMsgWrite As MSG_STRUC            '写MWO数据的消息

Public SndMsgReset As MSG_STRUC            '复位NETbbbb的消息

Public RcvMsg As MSG_STRUC                 '接收消息

'内存拷贝API

Public Declare Sub CopyMemory Lib "kernel32" Alias"RtlMoveMemory" (Destination As Any, Source As Any, ByVal Length AsLong)

3、    在bbbb1代码窗口中添加读写控制变量、三个消息初始化函数、NETbbbb链接和读写函数(请参考Nlmpi_pie.pdf文件):

Dim bNetbbbb_Connected As Boolean   'NETbbbb链接标记

Dim bStartRead As Boolean          '开始循环读取标记

Dim bWrite As Boolean              '写数据标记

 

'初始化读MW0数据的消息

Private Function Initial_SndMsgRead()

SndMsgRead.rx = 3         '接收号=3

SndMsgRead.tx = 255       '发送号=255

SndMsgRead.ln = 8         '读数据长度=8

SndMsgRead.nr = 0         '消息号

SndMsgRead.a = 0          '应答号=0

SndMsgRead.f = 0          '错误号=0

SndMsgRead.b = 0          '命令码=16#33(M区数据)

SndMsgRead.e = 0          '扩展号=0

SndMsgRead.data(0) = 2     'S7300CPU的MPI地址=2

SndMsgRead.data(1) = 0    '数据区=0

SndMsgRead.data(2) = 0    'M区起始地址=0(起始地址 MOD 256)

SndMsgRead.data(3) = 0    'M区起始地址=0(起始地址 / 256)

SndMsgRead.data(4) = 0    '数据索引=0(仅用于DB区)

SndMsgRead.data(5) = 2     '读取的字节数=2(MW0)

SndMsgRead.data(6) = TASK_TDT_UINT8   '数据类型=TASK_TDT_UINT8(字节)

SndMsgRead.data(7) = TASK_TFC_READ    '功能号=TASK_TFC_READ(读数据)

End Function

 

'初始化写MW0数据的消息

Private Function Initial_SndMsgWrite()

SndMsgWrite.rx = 3         '接收号

SndMsgWrite.tx = 255       '发送号

SndMsgWrite.ln = 10        '写数据长度=10

SndMsgWrite.nr = 0         '消息号

SndMsgWrite.a = 0          '应答号=0

SndMsgWrite.f = 0          '错误号=0

SndMsgWrite.b = 0          '命令码=16#33(M区数据)

SndMsgWrite.e = 0          '扩展号=0

SndMsgWrite.data(0) = 2     'S7300CPU的MPI地址=2

SndMsgWrite.data(1) = 0    '数据区=0

SndMsgWrite.data(2) = 0    'M区起始地址=0(起始地址 MOD 256)

SndMsgWrite.data(3) = 0    'M区起始地址=0(起始地址 / 256)

SndMsgWrite.data(4) = 0    '数据索引=0(仅用于DB区)

SndMsgWrite.data(5) = 0     '要写的字节数=2(MW0)

SndMsgWrite.data(6) = TASK_TDT_UINT8   'TASK_TDT_UINT8

SndMsgWrite.data(7) = TASK_TFC_WRITE   'TASK_TFC_WRITE

SndMsgWrite.data(8) = 0    '待写数据低字节=0

SndMsgWrite.data(9) = 0    '待写数据高字节=0

End Function

 

'初始化复位NETbbbb消息

Private Function Initial_SndMsgReset()

SndMsgReset.rx = 0        '接收号=0(NETbbbb 系统)

SndMsgReset.tx = 255      '发送号

SndMsgReset.ln = 1        '数据长度

SndMsgReset.nr = 1        '消息号

SndMsgReset.a = 0         '应答号=0

SndMsgReset.f = 0         '错误号=0

SndMsgReset.b = 1         '命令码=1

SndMsgReset.e = 0         '扩展号=0

SndMsgReset.data(0) = 1    '=1

End Function

 

'NETbbbb链接

Private Function Netbbbb_Connect()

Dim sRet As Integer

sRet = DevOpenDriver(0)                    '打开驱动

If sRet = DRV_NO_ERROR Then

    sRet= DevInitBoard(0,0)              '初始化板卡

    IfsRet = DRV_NO_ERROR Then

       bNetbbbb_Connected =True          '设置NETbbbb链接标记

   Else

       MsgBox "找不到NETbbbb!", vbCritical + vbOKOnly, "错误"

       DevExitBoard0                     '退出板卡

       DevCloseDriver0                   '关闭驱动

    EndIf

Else

   MsgBox "找不到NETbbbb驱动!", vbCritical + vbOKOnly, "错误"

   DevExitBoard 0

   DevCloseDriver 0

End If

End Function

 

'读MW0数据

Private Function ReadValue()

Dim sRet As Integer, RcvData(0 To 1) As Byte, Val_INT16 AsInteger

sRet = DevPutMessage(0, SndMsgRead, 500)   '发送读取数据的消息

If sRet = DRV_NO_ERROR Then                '如果发送消息无错误

    sRet= DevGetMessage(0, usSize, RcvMsg, 500)   '接收返回消息

   '如果接收无错误且消息无错误且功能号为读取消息则接收消息中的MW0数据

    IfsRet = DRV_NO_ERROR And RcvMsg.f = 0 And RcvMsg.data(7) =TASK_TFC_READ Then

       RcvData(0) =RcvMsg.data(9)        '注意高低字节的颠到

       RcvData(1) = RcvMsg.data(8)

       CopyMemory Val_INT16, RcvData(0), 2

       Text_Value.Text = Val_INT16

    EndIf

End If

End Function

 

'写MW0数据

Private Function Writbbbbue()

Dim sRet As Integer, SndData(0 To 1) As Byte, Val_INT16 AsInteger

Val_INT16 = Int(Text_Setting.Text)

CopyMemory SndData(0), Val_INT16, 2

SndMsgWrite.data(8) = SndData(1)           '注意高低字节的颠到

SndMsgWrite.data(9) = SndData(0)

sRet = DevPutMessage(0, SndMsgWrite, 500)   '发送写数据的消息

End If

bWrite = False                             '复位写值标志

End Function

4、    在bbbb1添加定时器Timer1,设定周期为100ms;在Timer1的执行事件中添加以下代码:

'定时器1的执行代码

Private Sub Timer1_Timer()

If bNetbbbb_Connected = FalseThen '如果Netbbbb没有链接则退出定时器执行

    ExitSub

End If

If bWrite = True Then              '如果有写值请求

   Writbbbbue                     '写MW0值

ElseIf bStartRead = True Then      '否则检查是否启动了读循环

   ReadValue                      '读MW0值

End If

End Sub

5、    添加[循环读取]、[停止]、[写入新值]、[复位NETbbbb]按钮的动作

'循环读取按钮

Private Sub Command_read_Click()

If bNetbbbb_Connected = False Then '如果NETbbbb未链接

   Netbbbb_Connect                '链接NETbbbb

End If

If bNetbbbb_Connected = True Then   '如果已链接

   bStartRead =True              '启动循环读

End If

End Sub

 

'停止按钮

Private Sub Command_stop_Click()

bStartRead = False

End Sub

 

'写入新值按钮

Private Sub Command_set_Click()

If IsNumeric(Text_Setting.Text) Then

   bWrite = True

Else

   MsgBox "设定值错误,范围:-32768至32767", vbExclamation + vbOKOnly,"格式错误"

End If

End Sub

 

'复位NETbbbb按钮

Private Sub Command_reset_Click()

Dim sRet As Integer

If bStartRead = True Then

   MsgBox "复位NETbbbb前请先停止循环读取。", vbInbbbbation + vbOKOnly,"提示"

Else

    sRet= DevPutMessage(0, SndMsgReset,500)       '发送复位NETbbbb的消息

End If

End Sub

6、    在bbbb1的Load事件中添加初始化代码:

'bbbb1装载

Private Sub bbbb_Load()

bStartRead = False

bWrite = False

bNetbbbb_Connected = False

Text_Value.Text = 0

Text_Setting.Text = 0

Initial_SndMsgRead         '初始化读取数据消息

Initial_SndMsgWrite        '初始化写值消息

Initial_SndMsgReset        '初始化复位消息

Netbbbb_Connect            '链接NETbbbb

End Sub

 

六、注意事项

1、   注意发送消息中的数据起始地址的高低字节颠到和接收消息中数据区的高低字节颠到;

2、   定时器事件在操作系统繁忙时容易被中断执行,可以适当提高进程和线程的优先级来保证数据的更新速率,在bbbb_Load()中添加以下代码:

Dim hThread As Long, hProcess As Long

hThread = GetCurrentThread

hProcess = GetCurrentProcess

SetThreadPriority hThread, THREAD_PRIORITY_HIGHEST

SetPriorityClass hProcess, HIGH_PRIORITY_CLASS

在Module1中添加以下声明:

Public Const THREAD_BASE_PRIORITY_IDLE = -15

Public Const THREAD_BASE_PRIORITY_LOWRT = 15

Public Const THREAD_BASE_PRIORITY_MIN = -2

Public Const THREAD_BASE_PRIORITY_MAX = 2

Public Const THREAD_PRIORITY_LOWEST =THREAD_BASE_PRIORITY_MIN

Public Const THREAD_PRIORITY_HIGHEST =THREAD_BASE_PRIORITY_MAX

Public Const THREAD_PRIORITY_BELOW_NORMAL =(THREAD_PRIORITY_LOWEST + 1)

Public Const THREAD_PRIORITY_ABOVE_NORMAL =(THREAD_PRIORITY_HIGHEST - 1)

Public Const THREAD_PRIORITY_IDLE =THREAD_BASE_PRIORITY_IDLE

Public Const THREAD_PRIORITY_NORMAL = 0

Public Const THREAD_PRIORITY_TIME_CRITICAL =THREAD_BASE_PRIORITY_LOWRT

Public Const HIGH_PRIORITY_CLASS = &H80

Public Const IDLE_PRIORITY_CLASS = &H40

Public Const NORMAL_PRIORITY_CLASS = &H20

Public Const REALTIME_PRIORITY_CLASS = &H100

 

Public Declare Function SetThreadPriority Lib "kernel32" (ByValhThread As Long, ByVal nPriority As Long) As Long

Public Declare Function SetPriorityClass Lib "kernel32" (ByValhProcess As Long, ByVal dwPriorityClass As Long) As Long

3、   无论是读取数据还是写数据,发送和接收消息函数必须成对出现;

4、   在实际的通讯中如果网络中断(譬如交换机断电,插拔网络插头)将会导致发送和接收消息函数出错,其返回值sRet大于等于10000(网络错误),此时需要主动发出NETbbbb复位消息;发出复位消息后一般需要等待5秒钟后进行链接;

5、   在每次尝试NETbbbb链接前为了避免找不到NETbbbb导致的驱动函数超时返回,可以先采用NetIdent协议(参考Ni_pie.pdf文件,使用Winsock控件)广播网络上的NETbbbb,找到NETbbbb后再尝试链接,这样可以提高通讯效率;

6、   一次读取地址连续的数据包(不要超过240个字节)比多次读取单个数据的效率要高的多;

7、   发送和返回的响应消息的消息号Nr是对应的,可以用Nr来判断多个读写任务的响应消息;


所属分类:中国电工电气网 / PLC
关于浔之漫智控技术-西门子PLC代理商商铺首页 | 更多产品 | 联系方式 | 黄页介绍
成立日期2019年09月10日
法定代表人袁宜男
注册资本500
主营产品西门子PLC模块,变频器,触摸屏,交换机
经营范围从事智能科技、自动化科技、机电领域内的技术开发、技术转让、技术咨询、技术服务,工业自动化设备安装,工业自动化控制设备、电气设备、机申设备、电子产品、五金产品、金属材料、仪器仪表、橡塑制品销售,商务信息咨询,软件开发,建筑装修装饰建设工程专业施工,建筑安装工程(除特种设备),机械设备租赁(不得从事金融租赁),物业管理。工业自动化设备加工、销售。
公司简介本公司销售的一律为原装正品,假一罚十,可签正规的产品购销合同,可开增值税发票,税点另外算,24小时销售热线:15221406036本公司销售的一律为原装正品假一罚十可签正规的产品购销合同可开增值税发票税点另外算24小时销售热线15221406036西门子触摸屏代理商,西门子一级代理商,西门子中国授权总代理----浔之漫智控技术(上海)有限公司本公司专业经销合信/CO-TRUST科思创西门子PLC; ...
公司新闻
顺企网 | 公司 | 黄页 | 产品 | 采购 | 资讯 | 免费注册 轻松建站
免责声明:本站信息由企业自行发布,本站完全免费,交易请核实资质,谨防诈骗,如有侵权请联系我们   法律声明  联系顺企网
© 11467.com 顺企网 版权所有
ICP备案: 粤B2-20160116 / 粤ICP备12079258号 / 粤公网安备 44030702000007号 / 互联网药品信息许可证:(粤)—经营性—2023—0112