CODESYS读取PLC的MAC地址
在CODESYS的使用中,我们有时会需要读取PLC的MAC地址,比如希望通过识别PLC内部参数,来做一些加密等限制使用的功能,就可以用读取PLC网口MAC地址的方法实现。因为每个PLC的MAC值都是不一样的,通过这个网卡MAC值可以当成这个控制器的机器码。也就实现了程序和机器码的一一对应关系。
1.在Device上鼠标右键,选择点击“添加设备”,在添加设备弹窗中选择“以太网适配器”下方的“Ethernet”,最后点击“添加设备”,如下图
2.双击库管理器,查看库管理器中有没有“IoDrvEthernet”库,如果没有添加一下这个库
添加“IoDrvEthernet”库
3.扫描网络,激活设备
4.双击“Ethernet”,选择“通用”,点击“网络接口”最后面的“Browse”,在弹窗中选择“eth0”,这时下方会显示出该接口的IP地址和MAC地址,我们可以先记下来这个MAC地址,可以和我们编程读出来的MAC地址进行一下验证。最后点击确认。如下图
5.编写程序,如下图
我们定义的“MacAdr”是一个6个BYTE元素的数组,这个数组中存放的即为eth0的MAC值。开头说过MAC值是唯一的,其他PLC不可能存在有与之相同的码,此码即可当成唯一机器码用。
6.在线监控程序,看一下我们读出来的MAC地址,如下图
7.对比发现上面两种方式读到的MAC地址不一致,这是怎么回事呢?
原来我们用程序读出来的是ASCII码十进制,而我们通过点击设备网络端口获取的是ASCII码十六进制!所以我们得根据自己的需要进行转换。
西门子WinCCV74用普通网卡通过Industrial Ethernet连接PLC步骤
前提条件:通过Industrial Ethernet工业以太网实现PLC系统与WINCC通讯的前提条件是PLC系统配备以太网模块或者使用带有PN接口的PLC,以太网模块列表如下表所示:
表2-1
在通讯设置之前务必确认模块支持Industrial Ethernet ISO通讯。
注:只有支持ISO通讯协议的模块才支持(Industrial Ethernet工业以太网)通讯,具体情况可查看STEP7中的模块信息。最简单的判断以太网模块是否支持Industrial Ethernet通讯的方式是,在STEP7的硬件组态Hardware中是否具有MAC参数的填写的输入框,如图2-1所示:
图2-1
参考STEP 7软件中的产品硬件信息来判断以太网模块是否支持Industrial Ethernet工业以太网通讯,如下图2-2所示:
图2-2
本文下列步骤应用CP443-1型号的以太网通讯模块,使用普通以太网卡连接。
2.1 STEP7硬件组态
使用STEP7编程软件对PLC系统进行软件组态,在Hardware界面内插入实际的PLC硬件,在本例中使用了两块CP443-1通讯模块,WINCC使用CP443-1(1)和PLC进行通讯,如下图2-3所示:
图2-3
在CP343-1(1)通讯模块上双击,会弹出Properties-CP443-1的属性对话框,在对话框中点击Properties…按钮,弹出属性对话框,激活“Set MAC address/use ISO Protocol”,在MAC address下设置通讯板卡的MAC地址,如图2-4所示,该地址可以在物理通讯板卡端口处标签上查看。
图2-4
点击New按钮,新建一个工业以太网络,在弹出的对话框都使用默认设置,该步骤一定要做,否则无法建立通讯。
其中,Interface中的参数Networked(已连网)必须设置为Yes。
将组态编译,下载到CPU,则PLC方面设置完成。对于第一次使用工业以太网通讯,必须保证首先使用MPI或者PROFIBUS的通讯方式,将设置好参数的组态下载到目标PLC,此后即可通过工业以太网的方式进行程序监控和项目下载。
2.2 设置Set PG/PC Interface
通讯接口设置,进入操作系统控制面板,双击Set PG/PC Interface。
在Access Point of the Application:的下拉列表中选择S7ONLINE ( STEP7 );
在Interface Parameter Assignment:选择图1-6中的本地计算机网卡。
由于网卡名称较长,需要拖动水平滑块到最右侧。
选择 . ISO.1 结尾的本地网卡,如图2-5所示。
注意:使用的网卡不同,显示会有不同,请确保所选条目为您正在使用的普通以太网卡的名称。
图2-5
点击Diagnostics按钮后,可以对该网卡进行诊断,确保其正常工作,如图2-6。
图2-6
2.3 添加驱动程序和设置系统参数
打开WINCC工程在Tag Management-->SIMATIC S7 PROTOCOL SUITE->Industrial Ethernet,
右键单击Industrial Ethernet,在弹出菜单中点击“系统参数”,如图2-7所示。
图2-7
弹出System Parameter- Industrial Ethernet对话框,选择Unit标签,
设置Logic device name(逻辑设备名称):S7ONLINE,如图2-8所示。
图2-8
2.4 添加通道与连接设置
添加驱动连接,设置参数。打开WINCC工程在Tag Management-->SIMATIC S7 PROTOCOL SUITE->Industrial Ethernet,右键单击Industrial Ethernet,在下拉菜单中,点击“新建连接”,在握手图标后面输入连接的名称。
在连接名称上右键点击“连接参数”,如图2-9所示。
图2-9
如图2-10在弹出Connection Parameter- Industrial Ethernet属性对话框中填入参数。
图2-10
Ethernet Address:输入在STEP7图2-4中已经设置的CP443-1通讯模块的MAC地址;
Rack Number:CPU所处机架号,除特殊复杂使用的情况下,一般填入0
Slot Number:CPU所处的槽号
注意:
如果使用S7-300的PLC,则Slot Number的参数为2;
如果是S7-400的PLC,则要根据STEP7项目中图2-3的Hardware软件查看CPU插在第几号槽内,不能根据经验和物理安装位置来随便填写,可能的参数为2、3、4(主要是依据电源的大小来决定)否则通讯不能建立。
最后点击确认,则通讯参数的设置已完成。
相关问答
只知道PLC的MAC地址怎么使其与电脑联机-ZOL问答
可以通过MAC地址来连接PLC,需要了解取MAC的那几个数字来转换为IP地址,然后就可通过此IP来连接PLC。例,施耐德的PLC是MAC的地址后三位转换为十进制,然后前面加8...
关于怎么查看AB的plc的ip地址问题?
你用网线跟电脑连起来之后打开AB软件BOOTP/DHCP,可以看到MAC地址,然后在软件里设置IP地址,保存就好了,或者你买的PLC随机的文档里有资料信息可以查看下你用网...
西门子plc没有程序如何设定mac?
没有程序跟舍之mac地址没有关系的,查看IP地址。没有程序跟舍之mac地址没有关系的,查看IP地址。
PLC编程电脑接口有什么要求?-ZOL问答
你用的是什么牌子的PLC一般的串口都是用9针RS-232的,也有直接用USB连接的,还可以将232接口转换成USB的,但是需要一个USB驱动程序,驱动了以后就可以用了COM0口...
plc系统怎么样连接以太网?
这需要在step7的plc菜单下,选择编辑以太网节点,然后填入mac地址后方可作为编程口使用。这时候只要你的电脑有网卡就可以连接上了,第一次连接可能不会成功,需...
西门子1200如何通过mac地址通讯?
西门子1200可以通过MAC地址进行通讯。西门子1200系列PLC具有内置的以太网接口,支持以太网通讯。在以太网通讯中,每个网络设备都有独一无二的MAC地址,可以用于...
ABPLC如何显示地址?
ABPLC是一种常用的工业控制软件,用于控制和监测生产线。ABPLC提供了一种名为“地址表”的工具,用于显示PLC系统中的地址。要显示PLC系统中的地址,可以按照...
怎么用网线从PLC中下载程序到电脑上-ZOL问答
电脑侧上位机的SIEMENS软件里面,设置PG/PC接口,选择对应网卡,IP地址和PLC一个网段但不能重复,网关相同。通讯对象MAC地址填写PLC的MAC地址就行了。不过你的电...
电脑里面的程序,什么是“马克地址”?也好像是麦克地址。我也不清楚。是什么地址?
“马克地址”就是MAC地址,也就是物理地址,每台电脑只有唯一的MAC地址,一般在学校上网的话,都是绑定MAC地址的。查询方式:win+R->输入cmd->getmac就可以看到...
西门子怎么用PC与PLC联机。我的是用网线连接的。具体步骤?
西门子用PC与PLC联机的方法如下:设置PG/PC接口(这里我们选择网络连接)打开step7软件,在菜单栏点击“选项”按钮设置PG/PC接口。向左转|向右转在窗口中选择...