CS机器人ModBusTCP通讯

2025-07-07

1.  简介

Modbus是一种🚂串行通讯协议,是Modicon公司于【gōng sī yú】1979年为使【nián wéi shǐ】用可编🎑程逻辑【chéng luó jí】控制器通信而发表【fā biǎo】。Modbus已经成为工业领域通信协议🏗的业界标准【biāo zhǔn】🚧,并且现⏭在是工【zài shì gōng】业电子【yè diàn zǐ】✈设备之【shè bèi zhī】间常用的连接💄方式🖕。

CS系列机【xì liè jī】器人支持modbus tcp,机器人既可以【jì kě yǐ】做主站也可以【yě kě yǐ】做从站🙂,在某些🍈情况下我们可以通过modbus poll即第三🏊方通讯【fāng tōng xùn】💸助手来测试该【cè shì gāi】✡通讯【tōng xùn】🚒。

CS 系列支【xì liè zhī】持的,可使用【kě shǐ yòng】 Modbus 协议读【xié yì dú】写的数🍳据类型为布尔🍨型与无符号短🎎整型【zhěng xíng】🍡(16 位)两种,

每种类型分别包含一【bāo hán yī】组输入⛓和一组输出寄【shū chū jì】存器👓,因此🔀 Modbus 共有 4 组寄存【zǔ jì cún】⛹器可被主站访【zhǔ zhàn fǎng】问😛。其中【qí zhōng】,

输入型寄存器【jì cún qì】✏只允许读操作,输出型【shū chū xíng】寄存器【jì cún qì】✏可读可写【xiě】🗺。有关寄存器【jì cún qì】✏协议接口的详【kǒu de xiáng】细说明🕺,请登陆🧖官网【guān wǎng】:

www.elibot.com,进入【jìn rù】“服务与【fú wù yǔ】🤭支持 > 技术资【jì shù zī】⛎料”板块,选择【xuǎn zé】“CS_用户手册_V2.11.0_附件📖”进行🎥

查询

1. 布尔型寄存器【jì cún qì】(8 位😐):主要用🗽于操作数字😒 IO,CS 系列目【xì liè mù】前可访【qián kě fǎng】问的输😍入【rù】/输出数字😒 IO 寄存器【jì cún qì】

的有效【de yǒu xiào】地址范🍝围为【wéi wéi】 0-63,虽然其值的类🌉型为 bool,但每个【dàn měi gè】 IO 仍会占用一个字节的【zì jiē de】📀空间💬,所以数字 IO

共占 2*64 字节。

2. 无符号短整型🐼(16 位):用于保【yòng yú bǎo】🌂存和修🎵改机器【gǎi jī qì】人的版本【běn】,TCP,系统状【xì tǒng zhuàng】态等信息🆘;也用于映射

数字 IO。CS 系列目前可访🏼问的输【wèn de shū】📨入🌥/输出寄存器的【cún qì de】有效地址范围为【wéi】 0-415。

工具 Modbus 主站设备可通🖤过以下【guò yǐ xià】功能码🍺读【dú】🔖/写从站寄存器【jì cún qì】:

1. 0x01: 读一个【dú yī gè】💗或者多🎍个输出【gè shū chū】数字信号 (read output bits)

2. 0x02: 读一个【dú yī gè】🥥或者多个输入数字信【shù zì xìn】😂号 (read input bits)

3. 0x03: 读一个✖或者多个输出【gè shū chū】寄存器【jì cún qì】⏭ (read output registers)

4. 0x04: 读一个【dú yī gè】😺或者多😫个输入寄存器【jì cún qì】 (read input registers)

5. 0x05: 写单个输出数字信号【zì xìn hào】🚷 (write output bit)

6. 0x06: 写单个🧔输出寄【shū chū jì】存器 (write output register)

7. 0x0F: 连续写【lián xù xiě】多个输【duō gè shū】🙎出数字⏺信号 (write multiple output bits)

8. 0x10: 连续写🌓多个输出寄存【chū jì cún】器【qì】🍺 (write multiple output registers)

2.  操作流程

2.1机器人做从站

机器人🥒做从站,modbus通讯使用机器【yòng jī qì】人🥒控制柜【kòng zhì guì】FB1网口或【wǎng kǒu huò】🐿FB2网口【wǎng kǒu】,连接控制柜【kòng zhì guì】和电脑🤛,

机器人Ip设置:

电脑设置为机🥛器人的同一网段后可【duàn hòu kě】以💰ping一下查看网络【kàn wǎng luò】是否连【shì fǒu lián】🥩接正常

打开第【dǎ kāi dì】🚷三方网络调试助手modbus poll,--connection--connect,选择modbus tcp/ip,ip地址栏💙输入机器人的【qì rén de】🐺ip,端口默🤣认【rèn】502,最后点击【jī】ok

只要对🦀话框不【huà kuàng bú】显示🏂noconnection 就表明💿调试软【diào shì ruǎn】件已连【jiàn yǐ lián】上cs机器人

接下来【lái】🕷我们可【wǒ men kě】以用🛩modbus poll来【lái】:

写入标准数字输出

读取标准数字输出

读取标准数字输入

读取寄存器

写入寄存器

2.1.1读取标准数字输入

功能码♉选择💾 02 Read Discrete inputs ,地址格【dì zhǐ gé】式十进【shì shí jìn】制♊,起始地址 0,读写数【dú xiě shù】量🌧 24(机器人输入地【shū rù dì】址 0-23,共 24 个【gè】📃)

上图显【shàng tú xiǎn】🌐示输入4为【wéi】1与下图【yǔ xià tú】示教器显示匹配🕚,可见读⭐取成功

2.1.2读取标准数字输出

功能码【gōng néng mǎ】🚠选择【xuǎn zé】 02 Read Discrete Inputs ,地址❕格式十进制,起始地🐂址❕ 32,(机器人【jī qì rén】🌊输出地【shū chū dì】址❕ 32-59,共【gòng】 28 个),读写数🥀量可选【liàng kě xuǎn】择 28 即全部🆑读取

由图可见32与【yǔ】41为📁1,与【yǔ】机器人🕣modbus slave界面显🤚示标准【shì biāo zhǔn】数字输【shù zì shū】出【chū】0和标准【hé biāo zhǔn】🕍数字输【shù zì shū】出【chū】显示的数据🚬一样【yī yàng】,可见读🌮取成功

2.1.3写入标准数字输出

setup--read/write definition中可以🚜先择 01 read coils(0x)读取线【dú qǔ xiàn】圈方便【quān fāng biàn】在modbus poll上观察🔷

点击【diǎn jī】functions--选择功能码【néng mǎ】🧑15:write multiple coils(写多个线圈【xiàn quān】),勾选所🐡需的🎶coil,点击【diǎn jī】send,回复respons ok 即可输🕺出信号【chū xìn hào】

2.1.4读取寄存器

setup--read/write definition中可以先择【xiān zé】 功能码04read input registers,十进制【shí jìn zhì】,起始地🈵址🎒 97,

读写数量 10(根据实际需求修改)

2.1.5写入寄存器

可以在【kě yǐ zài】setup--read/write definition 选择04 read input register,地址🈺address256,数量【shù liàng】10,先读这👱些可读可写的【kě xiě de】👩寄存器🔤方便我们观察【men guān chá】变化

第一种方法👝:直接双击🐲poll表格里【biǎo gé lǐ】的地址【de dì zhǐ】,修改【xiū gǎi】value值来写入【rù】(对应功【duì yīng gōng】🛍能码🌋06 写单个输出寄🔄存器)

第二种【dì èr zhǒng】方法😣:点击【diǎn jī】🐙functions --16:write multiple registers,双击图👺中显示列表来【liè biǎo lái】修改寄存器值

2.2机器人做主站

机器人📵做主站,modbus通讯使【tōng xùn shǐ】🌳用机器人📵控制柜FB2网口【wǎng kǒu】,连接控制柜和电脑【diàn nǎo】🚤

查看电🐌脑【nǎo】ip,这边为192.168.1.205

打开 modbus slave 调试助【diào shì zhù】手【shǒu】😞,点击🔑 connection--connect,如下图【rú xià tú】设置后🎬点击🔑ok

点击机器人示教器配置--通讯🔤--modbus--添加🉐modbus设备【shè bèi】,输入【shū rù】ip(此处ip为主站【wéi zhǔ zhàn】🛌ip)

2.2.1读线圈

打开🍿modbus slave调试助手📶,右击名【yòu jī míng】为【wéi】“mbalave1”窗口【chuāng kǒu】🏯,点击slave definition,

输入下【shū rù xià】图的id,功能码【gōng néng mǎ】,地址🆎,数量,点击🌜ok

点击示【diǎn jī shì】教器页【jiāo qì yè】面,输入类🕑型【xíng】🔊-数字输入 地址为0从站地址可为1,频率🤹10(可选⛅),当图标【dāng tú biāo】🏩变为绿【biàn wéi lǜ】色即ok

打开【dǎ kāi】modbus slave调试助手,双击对应地址💨,修改值【xiū gǎi zhí】,即可发【jí kě fā】🌧现机器【xiàn jī qì】人示教🐎器界面的值也📅改变

2.2.2写线圈

打开【dǎ kāi】modbus slave,可点击🤰File--new,会出来一根新【yī gēn xīn】的监视表🙀,

右击其选择【xuǎn zé】🏓Slave Definition,

输入🤸id 功能码【gōng néng mǎ】 地址和🐜数量【shù liàng】,注意地址不要与上一步设置👑重复【chóng fù】

机器人示教器✡上点击【shàng diǎn jī】添加信【tiān jiā xìn】号【hào】🤨,如下图🌓设置:

在该界【zài gāi jiè】面点击⏪值,可在【kě zài】modbus slave,查看到🆎

2.2.3读寄存器

打开【dǎ kāi】modbus slave,可点击File--new,会出来一个新🥃的监视表【biǎo】🏤

右击其【yòu jī qí】选择😻Slave Definition,

输入【shū rù】🍕id 1,功能码🍾04,地址20,数量5(自定义【zì dìng yì】),点击ok

在机器🧡人示教器界面点击添🎤加信号【jiā xìn hào】,输入下列数据,圆形图【yuán xíng tú】标变绿【biāo biàn lǜ】😦色表明连接成功【gōng】🚦

可在【kě zài】modbus slave界面,点击对🚻应地址【yīng dì zhǐ】输入数🈳值,

在示教器界面可查看对应数值

2.2.4写寄存器

打开modbus slave,可点击【kě diǎn jī】File--new,会出来【huì chū lái】一个新🎪的监视表🔹

右击其【yòu jī qí】选择🤠Slave Definition,

选择【xuǎn zé】🍆id 1,function03,地址30,数量🌆5(自定义),点击【diǎn jī】ok

在示教器界面🎐点击添加信号【jiā xìn hào】--输入下【shū rù xià】图对应信息【xìn xī】,圆形图➡标变绿色表明🥨连接成【lián jiē chéng】🏥功

点击值,输入数据,即可在【jí kě zài】modbus slave上查看🙆到写入【dào xiě rù】✡的值【de zhí】👊

3.  程序中操作

3.1机器人做从站

为方便🚞在【zài】modbus信号在【zài】程序中🔰方便配置【pèi zhì】和使用🌓,可以在【zài】配置【pèi zhì】--通讯--modbus连接机💷器人自己作为【jǐ zuò wéi】主站【zhǔ zhàn】👖

如上图所示,下述以🔅数字输【shù zì shū】🏐入【rù】,地址【dì zhǐ】🆘32;数字输【shù zì shū】🏐出😽,地址【dì zhǐ】🆘33;寄存输【jì cún shū】入【rù】,地址【dì zhǐ】🆘266;寄存器【jì cún qì】📅输出😽,地址【dì zhǐ】🆘277为例

3.1.1任务中读取(等待)线圈值

当线圈m_a为高是弹出弹窗信息1

3.1.2任务中设置(给出)线圈值

机器人【jī qì rén】😄中如上图设置【tú shè zhì】,点击运行🛅,调试助手中显【shǒu zhōng xiǎn】示为🍗1,即成功

3.1.3任务中读取(等待)寄存器值

运行机器人程🏜序【xù】,在【zài】poll中地址【zhōng dì zhǐ】66输入🗡44,机器人弹窗提示🔉1,即ok

3.1.4任务中设置(给出)寄存器值

运行机器人程🕎序【xù】,poll中地址【zhōng dì zhǐ】🕓277显示为值🌧897即【jí】ok

3.2机器人做主站

确定按照上述步骤客户端io设置完成

3.2.1任务中读取(等待)线圈值

运行任务【wù】,当从站的信号modbus=高 时🎪 ,页面弹【yè miàn dàn】🔰出窗口【chū chuāng kǒu】🥋提示“1”,代表已👨获取到【huò qǔ dào】该mosbus

3.2.2任务中设置写入线圈值

先检查助手里面准备写入得地址是否为0

如图在任务里添加设置

点击运行任务,助手中值变化

3.2.3任务中读取(等待)寄存器值

运行任务,当从站✴的信号modbus_2=3 时【shí】 ,页面弹出窗口👰提示【tí shì】“1”,代表已【dài biǎo yǐ】获取到该寄存✅器的值【qì de zhí】🐪

3.2.4任务中写入从站的寄存器值

先检查助手里面准备写入得地址是否为0

如图在任务里添加设置

点击运行任务,助手中值变化



download-669.svg comicon14.svg

电话咨询

download-397.svg comicon15.svg

免费试用

Vector.svg Frame.svg

微信小程序

img1.jpg

微信小程序

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

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

我已知晓并同意漫蛙🦁通过电【tōng guò diàn】子邮件【zǐ yóu jiàn】发送相🐝关资料【guān zī liào】👍

提交