96SEO 2026-02-19 17:20 38
文章前言一、MATLAB代码1.清除命令窗口、工作区、画图窗口2.参数设置3.创建modbus连接对象4.求离散传递函数5.

SMART代码1.将double类型变量转换为real类型变量2.建立Modbus
TCP服务器3.将real类型的过程变量转换为word类型的过程变量4.PID控制器4.1PID回路控制算法4.2PID向导4.3PID0_CTRL
SMART可以通过向导实现PID控制但是如果没有实验器材很难观察到实际的控制效果。
MATLAB作为一个强大的开发软件支持工业上常用的通信协议而且MATLAB也经常用作仿真实验。
如果在MATLAB中模拟被控对象并将被控对象数据与控制器数据通过Modbus
U}\frac{K}{T_1s1}e^{T_2s}\frac{0.134}{s0.035}e^{-0.03s}
G(s)ΔUΔTT1s1KeT2ss0.0350.134e−0.03s(1)
%控制器输出uu(k)、u_1u(k-1)、u_2u(k-2)3.创建modbus连接对象
\right)\frac{0.1278z^{-1}0.003884z^{-2}}{1-0.9656z^{-1}}\frac{num\_d\left(
G(z)1−0.9656z−10.1278z−10.003884z−21den_d(2)z−2num_d(1)z−1num_d(2)z−2(2)从上式可得离散化的对象输出公式
c(k)−den_d(2)c(k−1)num_d(1)u(k−1)num
sys_ctf(num_c,den_c,inputdelay,tol);
[num_d,den_d]tfdata(sys_d,v);5.
基于离散传递函数计算锅炉的温度c-den_d(2)*c_1num_d(1)*u_1num_d(2)*u_2;%
将对象的输出写入到PLC中write(mb,holdingregs,1,c,double);%
read(mb,holdingregs,9,1,int16);u
更新参数c_1c;u_2u_1;u_1u;pause(Ts);
将MATLAB传输的double类型数据转换为real类型数据
在MATLAB中的小数是通过double类型写入PLC中而PLC中的double类型变量是存放在V寄存器的一个字节中将输入的double类型数据转换为可以供PID指令使用的real类型可以使用指令DF_R。
EN功能块使能端EN1功能块有效EN0功能块无效Connect功能块Server功能Connect1激活Server功能Connect0关闭Server功能注意在更改相关参数时需要令Connect0否在将会报错IP_Port网络端口默认502MaxIQ可操作输入/输出线圈最大个数将可用于
存储器中的字保持寄存器数需要注意的是一个保持寄存器占用两个V寄存器的字节即一个VMHoldStart保持寄存器的开始地址如果
TCP通信状态Done1连接至客户端设备、与客户端断开连接、响应
请求、返回错误Done0没有请求用于此程序周期Error指令执行结果代码且仅在发生错误后的一个周期内有效。
在PLC中将过程变量的REAL值转换为PID控制器可以识别的WORD各个端口的含义如下
EN功能块使能端EN1功能块有效EN0功能块无效Inpuut输入的REAL类型值ISH输入REAL类型值的上限ISL输入REAL类型值的下限OSH输出WORD类型值的上限OSL输出WORD类型值的下限Output输出的WORD类型值。
SMART的PID控制器算法。
首先给出时域下的PID控制器输出
M(t)KCeKI∫edtMinitialKDdtde(4)其中
\right)、e、K_C、K_I、K_D、M_{initial}
M(t)、e、KC、KI、KD、Minitial分别表示当前时间下的控制器输出函数、当前时间下的系统误差函数、比例系数、积分系数、微分系数、回路输出的初始值。
将上述公式离散化后可得
e_n}M_{initial}K_D\frac{e_n-e_{n-1}}{T_S}
MnKCenKITSk1∑nenMinitialKDTSen−en−1(5)其中
Mn、en、en−1、TS分别表示当前采样时刻的控制器输出、当前采样时刻的误差、前一个采样时刻的误差、采样时间。
引入参数前一个采样时刻的积分值
M_nK_Ce_nK_IT_Se_nMXM_{initial}K_D\frac{e_n-e_{n-1}}{T_S}
MnKCenKITSenMXMinitialKDTSen−en−1(6)考虑
PVn、SVn分别表示过程变量与设定变量。
将公式(4)代入公式(3)可得
\right)}{\frac{K_C}{T_I}T_S\left(
MnMPnMInMDnKC(SPn−PVn)KITS(SPn−PVn)MXKDTS[(SPn−PVn)−(SPn−1−PVn−1)]KC(SPn−PVn)KITS(SPn−PVn)MXKDTS(PVn−1−PVn)KC(SPn−PVn)TIKCTS(SPn−PVn)MXKCTDTS(PVn−1−PVn)(8)其中
MPn、MIn、MDn分别表示当前采样时刻控制器比例项输出、积分项输出、微分项输出。
这里由于是对MATLAB中的被控对象进行仿真控制器类型选择常规。
如果勾选了双向输出正向参数中的增益只能为正负向参数中的增益只能为负。
在双向输出的情况下允许
SVn≥PVn时正向输出有效。
如果不勾选双向输出则没有负向参数设置、只有正向参数设置如果增益大于零则属于正向控制——控制器正作用于回路此时只有
SVn≥PVn输出有效如果增益小于零则属于负向控制——控制器反作用于回路此时只有
SVn≤PVn输出有效。
不勾选双向输出的情况下对于增益值为
控制如果将积分时间和微分时间指定为正值则控制器将是正作用回路如果指定负值则控制器将是反作用回路。
7.21、\frac{1.7}{60}\approx0.028
7.21、601.7≈0.028分钟。
需要注意的是如果不需要积分作用则可设置积分时间
MInMDnTIKCTS(SPn−PVn)MXTI1TS(SPn−PVn)MXKCTDTS(PVn−1−PVn)TDTS(PVn−1−PVn)(9)
为了获得更好的PID控制效果往往会选择不激活PID在程序运行后通过PID整定控制面板进行控制激活。
过程变量的标定有单极、单极20%偏移量、双极、温度×10℃和温度×10℉
在输出类型中可选择模拟量或数字量。
模拟量可从模拟量模块输出、数字量是通过PWM控制其他传感器。
需要注意的是子例程与中断例程内容是被封存的添加手动PID控制可以控制PID控制器屏蔽过程变量与设置变量输出任意合法值。
从数据块中的分布可见参数保存到了VB8000~VB8239的地址中。
EN功能块使能端EN1功能块有效EN0功能块无效PV_I输入过程变量Setpont_R输入设定变量Auto_Manual自动模式/手动模式切换Auto_Manual1自动模式Auto_Manual0手动模式Manual_Output手动模式下的输出
0.0∼1.0Output_Forward正向回路输出输出的范围与向导中的选择有关单极
−27648∼27648Output_Reverse反向回路输出输出的范围与向导中的选择有关单极
−27648∼27648HighAlarmPV值高限位报警PV值高限位值可在向导中确定LowAlarmPV值低限位报警PV值低限位值可在向导中确定ModuleErrPID控制器错误信号ModuleErr1PID控制器错误ModuleErr0PID控制器无错误ErrorCode错误代码。
作为专业的SEO优化服务提供商,我们致力于通过科学、系统的搜索引擎优化策略,帮助企业在百度、Google等搜索引擎中获得更高的排名和流量。我们的服务涵盖网站结构优化、内容优化、技术SEO和链接建设等多个维度。
| 服务项目 | 基础套餐 | 标准套餐 | 高级定制 |
|---|---|---|---|
| 关键词优化数量 | 10-20个核心词 | 30-50个核心词+长尾词 | 80-150个全方位覆盖 |
| 内容优化 | 基础页面优化 | 全站内容优化+每月5篇原创 | 个性化内容策略+每月15篇原创 |
| 技术SEO | 基本技术检查 | 全面技术优化+移动适配 | 深度技术重构+性能优化 |
| 外链建设 | 每月5-10条 | 每月20-30条高质量外链 | 每月50+条多渠道外链 |
| 数据报告 | 月度基础报告 | 双周详细报告+分析 | 每周深度报告+策略调整 |
| 效果保障 | 3-6个月见效 | 2-4个月见效 | 1-3个月快速见效 |
我们的SEO优化服务遵循科学严谨的流程,确保每一步都基于数据分析和行业最佳实践:
全面检测网站技术问题、内容质量、竞争对手情况,制定个性化优化方案。
基于用户搜索意图和商业目标,制定全面的关键词矩阵和布局策略。
解决网站技术问题,优化网站结构,提升页面速度和移动端体验。
创作高质量原创内容,优化现有页面,建立内容更新机制。
获取高质量外部链接,建立品牌在线影响力,提升网站权威度。
持续监控排名、流量和转化数据,根据效果调整优化策略。
基于我们服务的客户数据统计,平均优化效果如下:
我们坚信,真正的SEO优化不仅仅是追求排名,而是通过提供优质内容、优化用户体验、建立网站权威,最终实现可持续的业务增长。我们的目标是与客户建立长期合作关系,共同成长。
Demand feedback