# 三菱PLC内置WEB功能读写API **Repository Path**: qwdingyu/msPLC ## Basic Information - **Project Name**: 三菱PLC内置WEB功能读写API - **Description**: 读了下三菱PLC内置WEB服务器自定义WEB功能的文档,把内置读写接口总结了下 - **Primary Language**: JavaScript - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2021-08-30 - **Last Updated**: 2021-08-30 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README **具体用法见官方PDF文档跟MS_PLC.js 文件** Webサーバ機能 MELSEC iQ-Fシリーズ ## 三菱PLC WEB 功能使用说明 ## 1 需要FX5U以上支持WEB功能版本的PLC,一个SD卡(淘宝20块钱4G那种就行)。 2 GX Works3 设定PLC IP地址,开启WEB功能,设置登录账户,建议用默认80端口,除非想每次在网页里敲完IP再加:端口号,麻烦。 3 把仓库WWW文件复制到SD卡里,然后塞进PLC。 4 简单尝试之后,自己修改里面的网页代码,做自己的页面。 5 WEB服务器的网页读写PLC原理很简单,XHR给PLC的内置cgi接口POST方式发消息,传输的PLC数值用的是16进制字符串。 ***6*** cgi举例:/cgi/GetRndNum.cgi 获取一个随机数 ,/cgi/login.cgi、/cgi/logout.cgi,用户登录登出,/cgi/GetErrInf.cgi(获取错误信息) GetLedInf.cgi(PLC LED信息)GetCpuDiagInf(CPU诊断信息)GetAccLog.cgi(访问操作日志) **读**:RdDevBlk.cgi (读取一个连续区域地址 req.param NUM: 20 DEV: D10) "/cgi/RdDevRnd.cgi"(读取查询字符串实例: NUM=3&DEV1=D10&TYP1=W&DEV2=D11&TYP2=D&DEV3=M0&TYP3=B ,可读取单个或多个,NUM= 读取点数个数 DEV1=D10&TYP1=W 设备1地址和数据类型, & 符号拼接) **写**:/cgi/WrDev.cgi(单个地址写入 请求的字符串req.param 类似 NUM=1&DEV1=D11&TYP1=D&DATA1=a ) ***7*** 其实自己用Chrome浏览器看下WEB页面与PLC的通讯请求,自然就知道规则。 ***8*** 这个WWW文件里面我个人放了个VUE跟ELEMENT UI,由于不支持ICON FONT,图标/图标建议用SVG,里面有部分其他SVG学习测试代码。。详见(https://electrobit.ee/FX5U-user-web-demo/) 😳,待填的坑:做程序点动按钮别一直发请求给PLC写值,建议点击按下每0.5秒左右发一次,在PLC点上加个延时断开,自己看着处理。 发请求写值格式16进制,返回也是16进制字符串,需要解析转换显示,写入浮点数转换麻烦,建议照抄MS_PLC.js里面相应部分(这里面函数全是从三菱内置JS里面拿出来的) 另外PLC 的FTP功能,初始登录跟密码均为FX5CPU,可以从SD卡读取CSV等log文件,日后有空再整理。 请谨慎测试后使用,今天测试发现写入Y30位1结果Y60点置位,而且查看日志也是写入Y30点位,还不确定是我传输数据有误还是PLC内置CGI逻辑不完善。 ***!请谨慎测试后用于实际工程中***