返回主站|会员中心|保存桌面

三菱电机服务商    

PLC、变频器、伺服驱动、触摸屏,机器人

联系方式
  • 联系人:黄小姐
  • 电话:15523729285
  • 邮件:15523729285@163.com
新闻分类
  • 暂无分类
站内搜索
 
首页 > 新闻中心 > 用三菱plc编写计算器的程序?
新闻中心
用三菱plc编写计算器的程序?
发布时间:2025-07-09        浏览次数:2        返回列表

使用三菱PLC(如FX系列或Q系列)编写计算器程序,可以通过梯形图(LAD)或结构化文本(ST)实现。以下以FX系列PLC为例,设计一个支持加法、减法、乘法、除法的四则运算计算器程序,并通过触摸屏(HMI)或按钮输入数据和操作符。


一、硬件与软件准备

  1. 硬件

    • 三菱FX3U PLC(支持浮点运算需FX3U-4AD-ADP模块或使用内置浮点指令)。

    • 数字输入按钮(X0~X9对应数字0~9)。

    • 操作符按钮(X10=加法, X11=减法, X12=乘法, X13=除法, X14=等于)。

    • 清除按钮(X15=清零)。

    • 触摸屏(如GT2310-VTBA)用于显示输入和结果(可选)。

  2. 软件

    • GX Works2(编程软件)。

    • GT Designer3(触摸屏组态,如需显示界面)。


二、程序逻辑设计

1. 变量定义


变量类型地址用途
输入继电器X0~X9数字输入0~9
输入继电器X10~X14操作符(+、-、*、/、=)
输入继电器X15清零(CLR)
数据寄存器D0存储第一个操作数
数据寄存器D1存储第二个操作数
数据寄存器D2存储运算结果
数据寄存器D3临时存储输入值
状态寄存器M0输入第一个数标志
状态寄存器M1输入操作符标志
状态寄存器M2输入第二个数标志


2. 梯形图程序

以下为核心逻辑的简化梯形图描述:

(1) 数字输入处理

lad

// 数字按钮0~9的输入(以X0为例,其他类似)
LD X0          // 按下数字0
OR M8000       // 确保自锁(实际需用SET/RST或辅助继电器)
ANI M1         // 未输入操作符时(属于第一个数)
ANI M2         // 未输入第二个数时
OUT D3 K0      // 将0存入D3(实际需用MOV指令)

// 将D3的值累加到D0(第一个数)或D1(第二个数)
LD M0          // 输入第一个数状态
AND NOT M1     // 未输入操作符
ADD D0 D3 D0   // D0 = D0 + D3(需用ADD指令)

LD M2          // 输入第二个数状态
ADD D1 D3 D1   // D1 = D1 + D3
(2) 操作符输入处理

lad

// 加法按钮(X10)
LD X10
ANI M1         // 避免重复输入操作符
SET M1         // 进入操作符输入状态
RST M0         // 结束第一个数输入
SET M2         // 开始第二个数输入
MOV D0 D10     // 备份第一个数到D10(可选)

// 其他操作符(减法X11、乘法X12、除法X13)逻辑类似
(3) 等于运算(X14)

lad

LD X14
ANI M2         // 确保已输入第二个数

// 加法运算
LD M10         // 加法标志(通过X10触发时SET M10)
ADD D0 D1 D2   // D2 = D0 + D1

// 减法运算
LD M11         // 减法标志
SUB D0 D1 D2   // D2 = D0 - D1

// 乘法运算
LD M12         // 乘法标志
MUL D0 D1 D2   // D2 = D0 * D1(需FX3U支持浮点)

// 除法运算
LD M13         // 除法标志
DIV D0 D1 D2   // D2 = D0 / D1

// 结果处理
MOV D2 D100    // 将结果存入D100(供HMI显示)
RST M1         // 重置所有状态
SET M0         // 重新开始输入
(4) 清零功能(X15)
ladLD X15ZRST D0 D2     // 清零D0~D2RST M0 M2      // 重置所有状态

3. 触摸屏显示(可选)

在GT Designer3中创建以下显示元素:

  • 输入显示框:绑定到D0(第一个数)、D1(第二个数)、D2(结果)。

  • 按钮:关联到PLC的X0~X15输入点。

  • 状态指示灯:显示当前输入阶段(如“输入第一个数”、“输入操作符”)。


三、注意事项

  1. 浮点运算支持

    • 使用MUL/DIV指令时乘以10n后运算,再除以10n。

    • 或使用FX3U-4AD-ADP扩展模块处理浮点数。

    • FX系列PLC默认使用整数运算,如需支持小数,需:

  2. 除法零错误处理

    ladLD X13         // 除法按钮LDI D1 K0      // 检查除数是否为0OR M8000       // 条件成立时跳过运算OUT Y10        // 触发报警(如Y10接指示灯)
  3. 输入缓冲

    • 使用D3暂存当前输入的数字,避免直接修改D0D1

  4. 程序优化

    • 使用ZRST指令批量复位状态继电器。

    • 通过MOV指令备份中间结果,防止数据丢失。


四、完整示例(简化版)

以下为加法运算的简化梯形图逻辑:

lad

// 输入数字5(X5)和数字3(X3),然后按加法(X10)和等于(X14)
LD X5
MOV K5 D3
LD M0
ADD D0 D3 D0

LD X3
MOV K3 D3
LD M2
ADD D1 D3 D1

LD X14
ADD D0 D1 D2
MOV D2 D100    // 结果存入D100

五、扩展功能

  1. 连续运算:支持多次操作(如1+2+3)。

  2. 历史记录:用D寄存器数组存储最近10次运算结果。

  3. 错误处理:如溢出检测(使用OV特殊继电器)。


总结

通过三菱PLC实现计算器程序的核心是:

  1. 状态管理(输入第一个数→操作符→第二个数→结果)。

  2. 数据暂存(使用D寄存器存储中间值)。

  3. 运算指令(根据操作符调用ADD/SUB/MUL/DIV)。

实际编程时需结合具体PLC型号和指令集调整细节。如需完整工程文件,可进一步提供硬件配置和功能需求。

收缩
  • 电话咨询

  • 15523729285
  • 添加微信客服