EC机器人ModbusTCP通讯

2025-07-07

1.  简介

ModBus是一种【shì yī zhǒng】串行通信协议【xìn xié yì】🐂,一种标🙉准的工业通信【yè tōng xìn】协议【xié yì】🐂,同时是🥨目前工【mù qián gōng】业电子⛵设备之🐎间常用的连接方式。

漫蛙机【màn wā jī】🎂器人分别支持ModBus主🏴、从站功能🤱,从通讯的形式【de xíng shì】上分为MoBus TCP和ModBus RTU,其中【qí zhōng】ModBus从站功能通过【néng tōng guò】🚺配置即可【kě】🍻。

通过📭ModBus主站功【zhǔ zhàn gōng】能🍍,机器人【jī qì rén】可以向外部设备读取🧚写入数据【jù】🤕,已达到【yǐ dá dào】数据【jù】🤕交互和逻辑控制✡的用途【de yòng tú】。

漫蛙机【màn wā jī】器人的ModBus主站同【zhǔ zhàn tóng】时也支【shí yě zhī】持ModBus RTU 和 ModBus TCP,其中🚄ModBus TCP功能需【gōng néng xū】要连接以太网接口【jiē kǒu】⏹,而【ér】🔉ModBus RTU的硬件接口【jiē kǒu】⏹形式分为💩控制器💕485口【kǒu】⏹,工具末🚌端485口【kǒu】⏹。

ModBus主站功能通过🛸lua脚本实【jiǎo běn shí】现,可以参考EC-lua手册进行使用【háng shǐ yòng】🚖。其中MODBUS MASTER为已经封装的🔷接口🕦,用户只【yòng hù zhī】需传入相应参🔵数即可;如有其他特殊【tā tè shū】协议要求〰,可以使【kě yǐ shǐ】🏋用TCP/UDP通讯【tōng xùn】、485通讯【tōng xùn】、TCI通讯【tōng xùn】(工具末【gōng jù mò】端485)和【hé】⛎232通讯【tōng xùn】等🕞。

2.  操作流程

2-1. 配置机【pèi zhì jī】🍄器人MODBUS_TCP

2-1-1. 接入控制柜网口,如下图。

2-1-2. 配置机器人IP地址:

登录管【dēng lù guǎn】理员模【lǐ yuán mó】👼式:密码333333--------点击系【diǎn jī xì】统-----系统配置【zhì】👇-------网络配置【zhì】👇-----设置【zhì】🚐IP--点设置【zhì】🥫

2-1-3. 配置电脑IP

2-1-4. 启用示【qǐ yòng shì】🥋教器中modbusTCP设置

2-2. modbus_TCP从站使用方法【yòng fāng fǎ】🖊

2-2-1. 作为从【zuò wéi cóng】🕒站并通【zhàn bìng tōng】过以太网连接各种🧝 Modbus TCP 主站设📪备进行【bèi jìn háng】通信,协议的帧

规格如下图所示:

modbus功能码:

2-2-2. 机器人与通讯助手通讯

配置通讯助手

2-2-3. 读写线圈操作:

机器人M400变量的数据

2-2-4. 读写机器人寄存器操作:

1).机器人【jī qì rén】作为从站可通过脚本直接读🎤取写入【qǔ xiě rù】🐿寄存器【jì cún qì】🌒数值【shù zhí】🥈,可将数值【shù zhí】🥈转化为全局变量【liàng】,在示教【zài shì jiāo】器上进行显示或者调🥔用

2).脚本指令分为两种【liǎng zhǒng】,第1种是对🗃应获取【yīng huò qǔ】接口【kǒu】0-191,设置接⬜口【kǒu】66-191,此接口【kǒu】🛡可控制虚拟输【xū nǐ shū】入输出M变量【biàn liàng】📀,如下图😫所示

3).第【dì】🌿2种读取额外接➿口【kǒu】🔷192-575,设置接口【kǒu】🔷300-477,具体寄【jù tǐ jì】🌂存器地址可参【zhǐ kě cān】考通讯手册

4).第【dì】🐬1种指令【zhǒng zhǐ lìng】📛和第【dì】🐬2种指令【zhǒng zhǐ lìng】📛,建议用🎱户使用【hù shǐ yòng】第【dì】🐬2种指令【zhǒng zhǐ lìng】📛更方便【gèng fāng biàn】🦔快捷,第【dì】🐬1种指令【zhǒng zhǐ lìng】📛可直接控制M变量,漫蛙modbus寄存器分为【fèn wéi】🥥8位【wèi】和16位【wèi】,需要在【xū yào zài】兼容模【jiān róng mó】式下更改🍻,否则容【fǒu zé róng】易将机器人寄存器地址和网络助手🤜地址混【dì zhǐ hún】淆【xiáo】🍟。第【dì】🐬2种指令【zhǒng zhǐ lìng】📛本身设置就是【zhì jiù shì】16位【wèi】寄存器,无需考🥎虑兼容模【jiān róng mó】式下的更改🍻情况🐬

5).下面以🔨第2种寄存器为示【qì wéi shì】💟例脚本【lì jiǎo běn】🎼进行数据的读写【xiě】

机器人读取寄【dú qǔ jì】存器300-304寄存器【jì cún qì】数值同😘时存入【shí cún rù】👪到I0-I4寄存器【jì cún qì】中【zhōng】,脚本如🍲下💎

通过助手向寄🖲存器【cún qì】🛶300-304赋值☝,可通过示教器🎟查看【chá kàn】I0-I4数值,确实数值是否【zhí shì fǒu】正确【zhèng què】,如下图所示

6).机器人【jī qì rén】通过全【tōng guò quán】🔫局变量😘I10-I14,将数据写入寄存器320-324,脚本如下所示【xià suǒ shì】🚼

通过机🐏器人向I10-I14全局变量赋值🏙,可将数值存入【zhí cún rù】到【dào】🚼320-324寄存器中【zhōng】,网络助【wǎng luò zhù】🦔手可直🧞接在此【jiē zài cǐ】寄存器直接读取,如下图🎾所示【suǒ shì】

2-3. modbus_TCP主站使【zhǔ zhàn shǐ】🕙用方法

2-3-1.指令介绍

ModBus Master接口常用获取😬modbus、连接🎍modbus、关闭👮modbus、设置💁slave、读取单😵个线圈【gè xiàn quān】⬛、写入单【xiě rù dān】个【gè】/多个线【duō gè xiàn】圈⬛、读取单😵个【gè】寄存器、写入单【xiě rù dān】个【gè】寄存器等指😠令【lìng】❕,本文主【běn wén zhǔ】要讲解以上指【yǐ shàng zhǐ】令【lìng】❕,具体指🍋令【lìng】❕详解如下图所【xià tú suǒ】示,其他指令【lìng】❕也可参【yě kě cān】考🍊EC-lua手册ModBus Master章节【zhāng jiē】

以下为读取写入相关指令

modbus_read_bits 读取线🔲圈指令【quān zhǐ lìng】,功能码01

modbus_write_bit 写单个【xiě dān gè】线圈指【xiàn quān zhǐ】令🚪,功能码🧝05

modbus_write_bits 写多个【xiě duō gè】🏏线圈指🍬令,功能码【gōng néng mǎ】15

modbus_read_register 读单个寄存器数值【shù zhí】🙌。功能码【gōng néng mǎ】🔁03

modbus_write_register 写单个【xiě dān gè】寄存区🏘数值【shù zhí】,功能码🔰06

2-3-2.操作流程

本文以机器人【jī qì rén】作为主🅰站与网【zhàn yǔ wǎng】络助手【luò zhù shǒu】🔀进行【jìn háng】ModBus_TCP通讯为示例📏,进行【jìn háng】详细操作讲解📹

2-3-2-1.机器人端配置

将机器人脚本配置好,如下图所示

2-3-2-2.助手配置连接

2-3-2-3.连接成功提示

2-3-3-4.读取线圈

读取【dú qǔ】600开始的【kāi shǐ de】5个线圈【gè xiàn quān】🆑,分别将🍯线圈数值存入🔔虚拟输入M920-M924中

助手中将线圈【jiāng xiàn quān】🤕600、602、604分别置【fèn bié zhì】🌥为1

示教器【shì jiāo qì】中查看🔙对应的【duì yīng de】M920、M922、M924分别状态为🛰1,读取线🛫圈功能【quān gōng néng】及指令正常

2-3-2-5.写入线圈

写入线圈指令及定义如下脚本所示

写入单个和多✈个线圈【gè xiàn quān】♒指令,定义将M530数值写✉入到线【rù dào xiàn】圈♒530,M531-M534数值分🍎别写入【bié xiě rù】线圈【xiàn quān】♒531-534中

机器人😙端将虚🎟拟输出【nǐ shū chū】M530、M531、M533、M534置为【zhì wéi】1

助手中❔可以查看到线圈530、531、533、534状态都【zhuàng tài dōu】为🤷1,写入线圈功能【quān gōng néng】🚒及指令正常【zhèng cháng】

2-3-2-6.读取寄存器

读取寄存器指令及定义如下脚本所示

读取400开始的【kāi shǐ de】5个寄存👛器🍫,分别将【fèn bié jiāng】寄存器【jì cún qì】🍫数值存⤵入全局变量I000-I004中

助手端【zhù shǒu duān】将400寄存器【jì cún qì】📝设置为【shè zhì wéi】📑123,401寄存器【jì cún qì】📝设置为【shè zhì wéi】📑23,402寄存器【jì cún qì】📝设置为【shè zhì wéi】📑-345,403寄存器【jì cún qì】📝设置为【shè zhì wéi】📑-876,404寄存器【jì cún qì】📝设置为【shè zhì wéi】📑2345

机器【qì】人🙎端可在全局变🕘量中查🏂看I000-I004与寄存器【qì】400-404数值一【shù zhí yī】🤣致,读取寄【dú qǔ jì】存器【qì】功能及指【néng jí zhǐ】令正常

2-3-2-7.写入寄存器

写入寄存器指令及定义如下脚本所示

机器人端I010-I014的5个全局变量,分别将【fèn bié jiāng】🥡数值写【shù zhí xiě】🛷入到寄🗾存器500-504中【zhōng】

机器人💑端分别💒将【jiāng】I010-I014全局变量设置【liàng shè zhì】为:236,-659,589,489,-3528

助手端可查看🌹500-504的寄存【de jì cún】器数值,同时与全局变量【liàng】I010-I014数值一📈致【zhì】,写入寄【xiě rù jì】存器功🆙能及指令正常♍

3.  常见问题解答

1. M0-M527,M1472-M1535为系统【wéi xì tǒng】使用,只能读取状态,通过示【tōng guò shì】🏁教器可【jiāo qì kě】输入的✌ M 变量范🔫围为 528-799。

2. M 变量的🆎线圈地【xiàn quān dì】🍰址即为【zhǐ jí wéi】变量的🆎序号地址。

3. 兼容模式中勾【shì zhōng gōu】选ModBus:M 变量的【biàn liàng de】💙寄存器【jì cún qì】👓地址【dì zhǐ】🧑从M0 开始【kāi shǐ】🛌,每连续 的16个【gè】🧡 M 变量形【biàn liàng xíng】成一个【chéng yī gè】👨寄存器【jì cún qì】👓地址【dì zhǐ】🧑,例如M0-M15,寄存器【jì cún qì】👓地址为【dì zhǐ wéi】⚾ 0x0000;M16-M31,寄存器【jì cún qì】👓地址为【dì zhǐ wéi】⚾0x0001,以此类🎊推💝; 兼容模式中不【shì zhōng bú】勾选ModBus:M 变量的【biàn liàng de】💙寄存器【jì cún qì】👓地址【dì zhǐ】🧑从M0 开始【kāi shǐ】🛌,每连 续的🔷 8个【gè】🧡 M 变量形【biàn liàng xíng】成一个【chéng yī gè】👨寄存器【jì cún qì】👓地址【dì zhǐ】🧑,例如M0-M7,寄存器【jì cún qì】👓地址为【dì zhǐ wéi】⚾0x0000;M8-M15,寄存器【jì cún qì】👓地址为【dì zhǐ wéi】⚾ 0x0001,以此类🎊推💝。

4. ModBus 协议中【xié yì zhōng】一个寄【yī gè jì】存器为🔘 16 位变量【biàn liàng】📔,因此对🎒 M 变量【biàn liàng】的一个寄【yī gè jì】存💺器地址进行操作【zuò】,实际操作【zuò】的是连续的😥 16 个 M 变量【biàn liàng】。

5.在数据多为小数时【shù shí】,为方便数据的【shù jù de】➡处理【chù lǐ】😯,可以将数据进行整体【háng zhěng tǐ】扩大一👓定倍数后进行传输🐈


download-669.svg comicon14.svg

电话咨询

download-397.svg comicon15.svg

免费试用

Vector.svg Frame.svg

微信小程序

img1.jpg

微信小程序

准备好突破增长瓶颈,开启智能制造了吗?
了解我们的机器人如何帮助您的业务增长
欢迎下载漫蛙机器人资料

我已阅读并同意漫蛙《隐私政策》《法律声明》

我已知晓并同【xiǎo bìng tóng】意漫蛙【yì màn wā】通过电🧚子邮件【zǐ yóu jiàn】🧘发送相关资料🏺

提交