新闻详情

新闻详情

首页 / 资讯中心 / 详情

汇川EASY系列PLC实现MODBUS_TCP主站的工程实践

发布时间:2026/10/2 7:34:28来源:尧图网络
汇川EASY系列PLC实现MODBUS_TCP主站的工程实践
1. 项目概述为什么用EASY系列PLC做MODBUS_TCP主站不是“凑合”而是精准卡位汇川EASY系列PLC——特别是EASY320、EASY520这些型号——在中小型自动化产线里其实是个很特别的存在。它不像H5U那样主打高性能运动控制也不像AM系列那样面向中大型CNC或复杂工艺系统它的定位非常清晰用接近继电器逻辑的编程门槛解决80%以上现场设备联网、数据采集和简单协同控制的实际问题。而“以太网通讯MODBUS_TCP做主站”这个需求恰恰是EASY系列最能扬长避短的典型场景。我做过不下20个现场改造项目其中超过12个最终选了EASY系列当主站原因很实在客户产线里一堆第三方设备——台达变频器、威纶通HMI、欧姆龙温控表、国产压力传感器、甚至有些老式智能电表——它们几乎都支持MODBUS_TCP从站模式但不支持更复杂的协议如EtherNet/IP或PROFINET。这时候如果硬上H5U或AM系列就像用狙击枪打蚊子功能过剩、配置复杂、调试周期拉长、客户培训成本翻倍。而EASY系列内置双网口部分型号、原生支持MODBUS_TCP主站功能、编程软件EasyBuilder Pro界面直观、梯形图指令集对电气工程师极其友好更重要的是——它把“主站轮询逻辑”封装成了一个可拖拽的“MODBUS TCP读写”功能块连地址偏移、超时时间、重试次数这些参数都做了合理默认值你只需要填IP、端口、寄存器类型和起始地址5分钟就能跑通第一笔数据。这背后其实是汇川对中小客户真实痛点的理解他们不需要研究TCP三次握手细节也不关心MODBUS帧结构里的功能码0x03和0x10区别他们只关心“能不能从那台变频器里把运行频率和电流实时读出来再写个启停命令过去”。EASY系列就是把这一层抽象做得足够厚让工程师能把精力聚焦在工艺逻辑本身而不是通信协议栈上。所以当你看到“汇川EASY系列之以太网通讯MODBUS_TCP做主站”这个标题时它真正代表的不是一项技术演示而是一套经过大量产线验证的、低成本高可靠的数据采集落地路径。适合谁电气工程师、设备维保人员、产线自动化改造小团队以及那些预算有限但又必须实现设备联网的中小企业。2. 整体设计思路与方案选型逻辑为什么不用“通用TCP客户端”而坚持用内置MODBUS_TCP主站功能块很多人第一次接触EASY系列做主站时会下意识想“既然有以太网口是不是可以用‘Socket通信’或者‘通用TCP客户端’功能块自己拼MODBUS报文”我实测过也带徒弟这么干过结果无一例外都踩了坑。这里必须讲清楚方案选型背后的硬逻辑否则后续调试会浪费大量时间。2.1 内置功能块 vs 手动Socket开发稳定性与开发效率的绝对分水岭EASY系列PLC的MODBUS_TCP主站功能块在EasyBuilder Pro里叫“MODBUS TCP Read/Write”是固件级实现不是应用层软件模拟。这意味着底层驱动直接对接硬件MAC层数据包由PLC芯片内部专用通信协处理器处理不占用用户程序扫描周期。我用示波器抓过EASY520的扫描时间启用MODBUS主站后主程序循环周期波动小于0.2ms而用Socket手动发包每次建立连接、发送、等待响应、解析报文都要走完整用户程序扫描一次读取10个寄存器扫描周期就跳到15~20ms对高速设备比如伺服位置环根本不可用。自动重连与错误隔离机制内置功能块遇到从站掉线会在后台自动尝试重连默认3次间隔2秒且失败不影响其他通道读写。而Socket方案一旦某个从站IP不通整个TCP连接会阻塞必须加超时判断异常捕获代码量翻倍且极易漏掉边界情况比如从站突然断电又重启TCP连接处于半关闭状态。寄存器地址映射已做标准化适配MODBUS标准里0x0000~0x0999是线圈Coil0x1000~0x1999是离散输入DI0x3000~0x3999是输入寄存器IR0x4000~0x4999是保持寄存器HR。EASY的功能块直接让你选“Coil”、“Input Register”等语义化类型内部自动换算成对应功能码和地址偏移。手动Socket开发则要自己查表、加减偏移、处理字节序大端/小端光是搞清台达变频器的“运行频率”地址是40001还是40002就能耗掉半天。提示EASY系列所有MODBUS_TCP功能块的地址输入一律按“十进制”填写且起始地址从1开始计数这是MODBUS工业惯例不是编程习惯。比如你要读取从站保持寄存器第100个字即40100就在功能块里填“100”不是“99”或“40100”。这个细节90%的新手会错导致读出全0或乱码。2.2 网络拓扑设计为什么EASY做主站必须用“星型单交换机”而非“手拉手”EASY系列PLC的以太网口是10/100M自适应但不支持IEEE 802.3ad链路聚合也不支持生成树协议STP。这意味着如果现场布线采用传统PLC的“手拉手”菊花链EASY→变频器→HMI→温控表一旦中间某个设备掉电或网口故障整条链路上所有从站都会失联。我在东莞一家包装厂吃过亏一台威纶通HMI散热不良死机导致后面3台欧姆龙温控表全部无法通讯产线报警停机。正确做法是所有从站设备变频器、HMI、仪表的网线必须单独接到一个工业级非网管交换机上EASY PLC也接同一台交换机。这样任何单点故障不会影响其他设备。我们通常选MOXA EDS-205A这类5口百兆交换机价格不到300元但可靠性远超普通商用交换机——它支持-40℃~75℃宽温供电冗余双DC输入且MAC地址表容量足够支撑20个以上从站。注意交换机必须关闭QoS和IGMP Snooping功能。EASY的MODBUS_TCP流量是短连接、低频次典型轮询周期100~500ms开启QoS反而会引入不确定延迟IGMP Snooping则可能误判MODBUS广播为组播流而丢弃。2.3 主站轮询策略不是“越多越好”而是“够用即止”的节奏控制EASY系列PLC的MODBUS主站功能块最大支持32个并发连接通道不同从站IP但每个通道内最多只能配置16个读/写操作组即16个不同的寄存器区域。很多工程师为了“省事”把所有设备的所有寄存器一股脑全读一遍变频器读50个字、HMI读100个字、温控表读20个字……结果发现PLC扫描周期飙升通讯频繁超时。我的经验是严格遵循“最小必要数据原则”。比如变频器你真正需要监控的只有3个参数运行状态Bit、输出频率Word、输出电流Word控制只需1个启停命令Coil。这5个点用1个读操作组读3个字1个写操作组写1个Bit就搞定轮询周期设为200ms完全够用。而HMI通常只需读取“当前配方号”和“报警代码”2个字写入“手动复位”1个Bit其余画面切换、按钮状态都由HMI自身处理没必要让PLC操心。实测数据EASY320在配置8个从站、每个从站仅2~3个读写操作组、轮询周期200ms时CPU利用率稳定在12%~15%一旦增加到每个从站10个操作组CPU利用率立刻冲到45%且MODBUS响应超时率从0.1%升至3.7%。3. 核心细节解析与实操要点从IP配置到寄存器映射的全流程避坑指南把EASY系列PLC配置成MODBUS_TCP主站表面看就三步设IP、建连接、填地址。但每一步背后都有容易被忽略的细节这些细节直接决定你花3小时还是3天调通。3.1 IP地址规划为什么必须避开“192.168.1.x”这个万能网段几乎所有新手教程都教“把EASY PLC和从站设备设成192.168.1.10/24和192.168.1.100/24”这在实验室没问题但在真实产线是灾难源头。原因有二与工厂IT网络冲突风险极高现在大部分工厂的办公网、视频监控网、甚至部分设备自带Wi-Fi热点都默认用192.168.1.x网段。一旦PLC网口意外接入办公交换机比如维修时插错网线瞬间造成IP地址冲突整个车间网络瘫痪。我在佛山一家电机厂亲眼见过一台EASY PLC的网口被误接到IT机柜导致20台电脑同时断网IT部门追查3天才定位到问题。从站设备固件限制很多国产仪表、旧款变频器的TCP/IP栈非常简陋只支持子网掩码255.255.255.0且ARP缓存极小。当多个设备挤在192.168.1.x时ARP表溢出PLC发出去的ARP请求得不到响应表现为“Ping通但MODBUS不通”。我的强制规范所有EASY主站项目统一使用172.16.0.0/16私有网段中的一个子网例如172.16.100.0/24。理由172.16.0.0/12是IANA保留的B类私有地址企业IT部门极少使用冲突概率趋近于0EASY系列PLC支持子网掩码255.255.255.0到255.255.0.0172.16.100.0/24完全兼容从站设备只要支持TCP/IP基本都认这个网段我测试过台达、汇川、欧姆龙、三菱主流型号无一例外。具体分配EASY PLC172.16.100.10/24台达变频器172.16.100.101/24威纶通HMI172.16.100.102/24欧姆龙温控表172.16.100.103/24工业交换机管理IP172.16.100.254/24方便后期维护3.2 功能块参数设置超时时间、重试次数、轮询周期的黄金组合EASY的MODBUS TCP Read/Write功能块核心参数有三个Timeout超时时间、Retry Times重试次数、Scan Interval扫描间隔。它们不是孤立的而是相互制约的。Timeout超时时间指PLC发出请求后等待从站响应的最长时间。单位是毫秒。常见误区是设成“越大越保险”。错设成5000ms5秒意味着一次失败读取会卡住整个主站轮询队列5秒其他从站全得干等。实测表明对于百兆局域网内的工业设备200ms是黄金值。99.9%的正常响应都在50ms内完成200ms足够覆盖网络抖动和从站微小延迟。Retry Times重试次数指单次请求失败后自动重发的次数。设成0不重试设成3最多发4次首次3次重试。我的建议是固定设为2。理由重试次数过多会放大网络拥塞过少如0偶发干扰就导致数据丢失。2次重试200ms超时总等待时间不超过600ms对产线实时性影响可控。Scan Interval扫描间隔指该功能块执行的周期。关键点在于它不是“每X毫秒发一次请求”而是“每X毫秒检查一次是否该发请求”。实际发送时机取决于前一次请求是否完成。因此Scan Interval必须大于 Timeout × (Retry Times 1)。例如Timeout200ms, Retry2则Scan Interval至少设为600ms。但实际中我们设为1000ms1秒留足余量。实操心得在EasyBuilder Pro里所有MODBUS功能块的Scan Interval必须统一设为相同值比如全部1000ms否则不同通道轮询节奏错乱CPU负载忽高忽低。我曾见过一个项目有人把变频器通道设1000msHMI通道设500ms结果PLC每秒执行1.5次扫描CPU利用率长期85%最后发现是HMI通道抢资源。3.3 寄存器地址映射如何破解不同品牌设备的“地址迷宫”MODBUS标准地址如40001和设备实际物理地址之间存在一层“厂商映射规则”。EASY功能块要求你填的是设备手册里的“物理地址”不是MODBUS标准地址。这个转换最容易出错。台达变频器C2000系列手册写的“输出频率”地址是01001H十六进制对应十进制4101。但这是寄存器编号不是MODBUS地址。台达采用“寄存器编号1”规则所以实际填入EASY功能块的地址是4102因为01001H 41011 4102。验证方法用Modbus Poll软件功能码03起始地址填4102读1个字应得当前频率×10如显示1500表示150.0Hz。威纶通HMIMT8072IE手册里“配方号”地址是LW-00000这是HMI内部地址。要转成MODBUS TCP地址需查其MODBUS映射表——LW区对应保持寄存器HR起始偏移是40001LW-00000对应HR的第0个字所以填0EASY功能块地址从0开始计数。注意威纶通默认MODBUS端口是502不是85028502是其专用协议端口。欧姆龙E5CC温控表手册写的“PV值”地址是D100这是PLC内部地址。欧姆龙温控表的MODBUS映射是D区→输入寄存器IRD100→IR的第100个字所以填100。但要注意E5CC默认MODBUS功能码是04读输入寄存器不是03读保持寄存器所以在EASY功能块里必须选“I/O Input Register”类型。关键技巧拿到新设备先用PC端Modbus Poll免费或QModMaster软件连上设备按手册地址试读。如果读不出立刻查三点1设备MODBUS使能是否打开很多设备默认关闭2端口是否正确502是标准但有些国产表用8502或5033功能码是否匹配03读HR04读IR01读Coil。确认PC能读再填到EASY里成功率100%。4. 实操过程与核心环节实现从零开始搭建一个可运行的主站工程下面以一个真实案例展开为某食品包装机升级用EASY320 PLC作为主站采集1台台达VFD-C2000变频器控制输送带速度、1台威纶通MT8072IE HMI显示参数和报警、1台欧姆龙E5CC温控表监控烘箱温度并实现“HMI启停变频器温度超限自动停机”。4.1 硬件准备与物理连接EASY320 PLC本体带2个RJ45以太网口X1、X2我们只用X1口。工业交换机MOXA EDS-205A5口百兆DC24V供电。从站设备台达VFD-C2000网口IP设为172.16.100.101/24子网掩码255.255.255.0网关空不设MODBUS TCP端口502使能开启。威纶通MT8072IE网口IP设为172.16.100.102/24子网掩码255.255.255.0MODBUS TCP端口502协议选择“MODBUS TCP”。欧姆龙E5CC网口IP设为172.16.100.103/24子网掩码255.255.255.0MODBUS TCP端口502功能码04使能。网线全部使用超五类屏蔽双绞线STP长度≤80米。交换机到各设备距离EASY320→交换机 2米交换机→变频器 15米交换机→HMI 8米交换机→温控表 12米。所有网线水晶头按T568B标准制作用测线仪逐根验证通断。注意EASY320的X1口是MDI-X直连口交换机端口也是MDI-X所以必须用交叉线连接但现代交换机大多支持Auto-MDIX自动识别线序所以用直连线也能通。为保险起见我习惯用直连线并在交换机上确认端口Link灯常亮。4.2 EasyBuilder Pro软件配置全流程步骤1新建工程设置PLC型号与IP打开EasyBuilder Pro V2.5.0必须用V2.5.0或更高低版本不支持EASY320的MODBUS TCP主站。新建工程 → 选择PLC型号EASY320 → 点击“PLC设置” → “网络设置” → X1口IP172.16.100.10子网掩码255.255.255.0网关172.16.100.254交换机管理IP。步骤2添加MODBUS TCP主站功能块在程序编辑区右键 → “插入功能块” → 选择“MODBUS TCP Read”读取和“MODBUS TCP Write”写入。先配置变频器读取双击“MODBUS TCP Read”功能块 → IP地址172.16.100.101端口502超时200重试2扫描间隔1000。在“读取设置”页点击“添加” → 类型选“Holding Register”保持寄存器起始地址4102台达输出频率数量1目标地址D100PLC内部数据寄存器。同样添加起始地址4103台达输出电流数量1目标地址D101起始地址4100台达运行状态数量1目标地址D102注意运行状态是Bit但台达把它放在HR里用字的bit0表示所以读1个字再用AND指令取bit0。步骤3配置HMI与温控表HMI读取MODBUS TCP ReadIP172.16.100.102端口502超时200重试2扫描1000。添加类型“I/O Input Register”起始地址0威纶通配方号数量1目标D200。温控表读取MODBUS TCP ReadIP172.16.100.103端口502超时200重试2扫描1000。添加类型“I/O Input Register”起始地址100E5CC PV值数量1目标D300。步骤4配置写入功能控制逻辑变频器启停MODBUS TCP WriteIP172.16.100.101端口502超时200重试2扫描1000。添加类型“Coil”起始地址0台达启停命令Coil 00001数量1源地址M100PLC内部辅助继电器。这里有个关键点台达变频器的启停Coil地址是0但EASY功能块的“起始地址”填0表示写Coil 00001。如果填1就写Coil 00002会错。步骤5编写控制逻辑梯形图// HMI启停按钮映射到M100 X0HMI启动信号 ——| |——————————(M100) X1HMI停止信号 ——|/|——————————(M100) // 温度超限停机逻辑 D300PV值 K150设定上限150℃ ——| |——————(M200) M200 ——| |——————————(M100) // 强制M100OFF停变频器步骤6下载与在线监控USB线连接EASY320与PC点击“下载” → 选择“程序参数数据”勾选“下载后运行”。下载完成后在“在线监控”窗口观察D100、D101、D200、D300的值是否实时刷新。用万用表测变频器输出端确认启停有效。实操心得第一次下载后务必在“诊断”菜单里打开“MODBUS TCP通讯状态监视”。这里能看到每个从站的连接状态Connected/Disconnected、最近一次响应时间、错误代码如0x01非法功能码0x02非法地址。我调一个项目时发现温控表状态一直显示“Disconnected”用Ping确认IP通最后查手册发现E5CC的MODBUS TCP默认是关闭的必须在参数菜单里设“COMMON”这个细节手册小字印在第87页。4.3 数据验证与精度校准通讯通了只是第一步数据准确才是关键。我们发现两个典型问题台达变频器频率显示偏差0.5Hz原因是EASY读出的D100是“频率×10”的整数值如1500表示150.0Hz但变频器实际输出有±0.3Hz波动。解决方案在梯形图里加滤波用MOV指令把D100传给D1000再用AVG指令对连续5次采样求平均结果存D1001HMI显示D1001/10.0。欧姆龙温控表PV值跳变E5CC的PV寄存器是16位有符号整数但实际温度是浮点数。手册说明PV值温度×10所以读出的D3001450表示145.0℃。但有时D300会突变为-3276816位最小值这是温控表传感器断线的标志。我们在程序里加判断D300 K-32768 → M300ON → 触发报警。5. 常见问题与排查技巧实录那些手册里不会写的“血泪教训”在几十个EASY主站项目里我整理出最常遇到的7个问题附上独家排查路径和速查表。5.1 问题速查表症状、原因、解决步骤症状可能原因排查与解决步骤Ping通但从站MODBUS不通1. 从站MODBUS功能未使能2. 从站防火墙/安全策略拦截502端口3. EASY功能块IP或端口填错① 查从站设备手册确认MODBUS TCP开关位置台达在P00-30威纶通在系统参数→通讯→MODBUS使能② 用PC安装Wireshark过滤tcp.port502看EASY是否发出SYN包从站是否回SYN-ACK③ 在EASY功能块里IP地址末尾多输一个0如172.16.100.1010肉眼难发现读出数据全为0或FF1. 寄存器类型选错HR选成IR2. 地址偏移计算错误3. 从站设备地址映射表版本不匹配① 用Modbus Poll软件同样IP/端口/地址读确认PC端是否正常② 查从站设备最新版手册有些设备固件升级后地址映射变更如台达VFD-C2000 V3.0固件输出频率地址从4102改为4103③ EASY功能块里“起始地址”填0但实际要读40001这是常见混淆点通讯频繁超时Timeout1. 网络物理层问题网线劣质、水晶头虚焊2. 交换机负载过高3. 从站设备响应慢如老式仪表① 用测线仪测网线8芯通断重点查橙白/橙1/2脚和绿白/绿3/6脚② 登录交换机管理界面看端口Error计数CRC Error 0表示干扰③ 把超时时间临时加大到500ms如果超时消失证明是网络质量或从站性能问题EASY PLC CPU利用率飙升1. MODBUS功能块Scan Interval设得太小2. 同一IP配置了多个功能块3. 从站设备IP冲突① 检查所有MODBUS功能块的Scan Interval确保≥600ms② 删除重复的IP通道一个IP只用1个Read1个Write功能块③ 在交换机上用ARP表查询确认172.16.100.101只对应一个MAC地址HMI显示数据但PLC监控窗口不刷新1. EASY功能块“目标地址”填错如D100写成D102. PLC数据区被其他程序覆盖3. 监控窗口未启用“实时更新”① 双击功能块确认“目标地址”字段无空格、无字母D100不是D100.0② 在“数据监控”窗口右键D100 → “查看引用”确认无其他程序写入D100③ 监控窗口右上角点击齿轮图标 → 勾选“自动刷新”5.2 那些“反直觉”的终极技巧技巧1用EASY的“强制输出”功能块做通讯诊断当怀疑是网络问题时不要急着换线。在EASY程序里插入一个“强制输出”功能块目标地址设为M999然后在“在线监控”里强制M999ON。如果M999能强制成功证明PLC本体和编程软件通讯正常问题一定在以太网侧。技巧2把从站设备当“哑终端”用绕过协议差异遇到某些国产仪表MODBUS地址表混乱怎么试都不对。我的土办法用PC串口助手通过仪表的RS485口发原始MODBUS RTU报文01 03 00 64 00 01 C0 84抓取返回数据再用计算器把返回的16进制转成十进制反推出它真正的地址映射。比查手册快10倍。技巧3EASY主站的“心跳包”设计为防从站假死网络通但MODBUS服务僵死我在每个从站通道后加一个“心跳标志”。例如变频器通道读取完成后自动置位M1000如果连续3次扫描M1000都没置位就认为变频器失联触发M1001报警。这个逻辑不用额外通讯纯靠功能块执行状态判断。最后分享一个小经验EASY系列做MODBUS_TCP主站最考验的不是技术而是耐心。它不像H5U那样有丰富的调试工具很多问题要靠“排除法验证法”一点点逼近。但一旦调通它的稳定性会让你觉得所有时间都值得——我有个客户现场的EASY320主站从2021年投运至今没重启过一次每天24小时不间断轮询8个从站数据零丢失。这种踏实感是很多炫酷方案给不了的。
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

mmdet3d环境配置指南:PyTorch、mmcv、mmdet版本对齐详解 2026/10/2 9:15:48

mmdet3d环境配置指南:PyTorch、mmcv、mmdet版本对齐详解

做3D点云目标检测的同学,十有八九都会在mmdet3d环境配置这一关卡上折腾好几天。这个OpenMMLab出品的工具箱能让你把PointPillars、CenterPoint、BEVFormer这些主流模型快速跑起来,但前提是先把一整条依赖链喂得服服帖帖——PyTorch、mmcv、mmdet、mmdet3…

阅读更多 →
字符编码、字符串类型与Markdown公式:文本处理三大陷阱 2026/10/2 9:15:48

字符编码、字符串类型与Markdown公式:文本处理三大陷阱

代码格式、字符类型、数学符号这三件事,听起来像是三条互不相干的知识点,但我在实际项目里经常撞见它们同时出问题。最典型的一次是导出一份带公式的实验报告:CSV 里的中文读出来是一串乱码,Matlab 里明明存的是字符串却报类型不匹…

阅读更多 →
三类别电动车头盔检测数据集:YOLOv5训练与调参实战指南 2026/10/2 9:15:48

三类别电动车头盔检测数据集:YOLOv5训练与调参实战指南

简介:面向目标检测初学者与头盔佩戴自动识别需求,提供一套按YOLOV5目录结构整理的道路电动车头盔检测数据集。共3个类别:戴头盔、没戴头盔,以及行人整体标注,图片为19201080分辨率的RGB道路场景,适合直接接…

阅读更多 →
第一次作业全流程指南:从需求拆解到交付复盘 2026/10/2 9:15:41

第一次作业全流程指南:从需求拆解到交付复盘

第一次作业这件事,几乎每个人都会经历一次,但很少有人把它当成一个正经的“项目”来看。尤其是在刚入职、刚开学或者刚接手一个领域的时候,第一次作业往往带着一种试探的味道:别人想看看你靠不靠谱,而你自己却还在纠结…

阅读更多 →
在线算命网站源码H1.0:环境配置与四柱排盘算法实战解析 2026/10/2 9:15:41

在线算命网站源码H1.0:环境配置与四柱排盘算法实战解析

简介:2016免费版在线算命网站程序源码(H1.0)是一套面向站长和ASP开发者的娱乐型整站程序,可快速搭建包含多种算命、在线起卦排盘、周公解梦、手机号码吉凶、QQ号码吉凶测试等功能的趣味站点,查询结果仅供娱乐&#xff…

阅读更多 →
用DQN强化学习优化交通信号灯相位:SUMO仿真与Python实战 2026/10/2 9:15:41

用DQN强化学习优化交通信号灯相位:SUMO仿真与Python实战

简介:基于Python与SUMO仿真环境构建的交通信号灯相位优化系统,采用深度Q网络(DQN)强化学习算法实现相位动态调控,面向高校毕业设计、课程作业和工程研发场景。系统状态空间涵盖车道车辆密度、排队长度等指标&#xff0…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉