设为首页
收藏本站
开启辅助访问
切换到窄版
积分充值
登录
立即注册
微信扫码登录
首页
首页
共享资源
BBS
视频教程
AI机器人
VIP充值
论坛
搜索
搜索
程序分享
文库分享
软件下载
变频手册
干货教程
成套课件
新版AI机器人
老版GPT
最新提现记录
恭喜
admin
于 2023-6-6 15:17 成功提现
500元
恭喜
admin
于 2023-5-3 09:45 成功提现
400元
本版
用户
智控联盟
»
共享资源
›
精选专区
›
ChatGPT专区
›
编程序专区
›
多泵切换
返回列表
发新帖
多泵切换
[复制链接]
2148
|
3
|
2023-4-4 17:42:29
|
显示全部楼层
|
阅读模式
求博图多泵切换程序
回复
使用道具
举报
chatGPT_小柔
|
2023-4-4 17:42:48
|
显示全部楼层
以下是一个基本的博图多泵切换程序,你可以根据自己的需要进行修改和优化:
[code]
//定义各个输入输出端口
#define PUMP1_PORT QJ1_1
#define PUMP2_PORT QJ1_2
#define PUMP3_PORT QJ1_3
#define SWITCH_PORT K1
void main()
{
sbit PUMP1 = PUMP1_PORT; //将输入输出端口与变量绑定
sbit PUMP2 = PUMP2_PORT;
sbit PUMP3 = PUMP3_PORT;
sbit SWITCH = SWITCH_PORT;
while (1)
{
if(SWITCH == 0) //如果按键被按下
{
if(PUMP1 == 0) //如果泵1正在工作,则切换至泵2
{
PUMP1 = 1;
PUMP2 = 0;
}
else if(PUMP2 == 0) //如果泵2正在工作,则切换至泵3
{
PUMP2 = 1;
PUMP3 = 0;
}
else if(PUMP3 == 0) //如果泵3正在工作,则切换至泵1
{
PUMP3 = 1;
PUMP1 = 0;
}
delay(200); //延迟一段时间,以防止按键抖动造成误触发
}
}
}
[/code]
回复
使用道具
举报
创金自控
|
2023-4-5 07:54:30
|
显示全部楼层
西门子博图多泵切换程序,互为主备
回复
使用道具
举报
chatGPT_小柔
|
2023-4-5 07:54:54
|
显示全部楼层
以下是一个基本的西门子博图多泵切换程序,实现了互为主备双向切换功能:```
//定义变量
bool pump1_master = true;
bool pump2_master = false;
bool pump3_master = false;
bool switch_on = false;
//定义定时器计数器
int timer_count = 0;
//定义按键信号的DB块
DBX dbx_switch(1.0);
//定义各个泵和切换器信号的IB块
IBP ibp_pump1_master(\"M1.0\");
IBP ibp_pump2_master(\"M1.1\");
IBP ibp_pump3_master(\"M1.2\");
IBP ibp_switch_on(\"M1.3\");
//定义各个泵信号的QB块
QB qb_pump1(\"Q1.0\");
QB qb_pump2(\"Q1.1\");
QB qb_pump3(\"Q1.2\");
//定义定时器的FC块
FC fc_timer(T#500ms);
//程序主体
while(true)
{
//读取各个输入信号
pump1_master = ibp_pump1_master();
pump2_master = ibp_pump2_master();
pump3_master = ibp_pump3_master();
switch_on = ibp_switch_on();
//检测是否需要切换泵
if(switch_on && fc_timer())
{
timer_count++;
fc_timer.Reset();
if(timer_count > 1)
{
timer_count = 0;
if(pump1_master)
{
qb_pump1(false);
qb_pump2(true);
pump1_master = false;
pump2_master = true;
}
else if(pump2_master)
{
qb_pump2(false);
qb_pump3(true);
pump2_master = false;
pump3_master = true;
}
else if(pump3_master)
{
qb_pump3(false);
qb_pump1(true);
pump3_master = false;
pump1_master = true;
}
}
}
//将当前主泵的信号发送至QB块
if(pump1_master)
{
qb_pump1(true);
qb_pump2(false);
qb_pump3(false);
}
else if(pump2_master)
{
qb_pump1(false);
qb_pump2(true);
qb_pump3(false);
}
else if(pump3_master)
{
qb_pump1(false);
qb_pump2(false);
qb_pump3(true);
}
//将按键信号写入DB块
dbx_switch(switch_on);
//等待时间片结束
Wait(10);
}
回复
使用道具
举报
返回列表
发新帖
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
回帖后跳转到最后一页
创金自控
4
主题
5
帖子
16
积分
新手上路
新手上路, 积分 16, 距离下一级还需 34 积分
新手上路, 积分 16, 距离下一级还需 34 积分
积分
16
加好友
发消息
回复楼主
返回列表
用户使用心得及帮助
GPT3.5免费体验版
GPT3.5完整版(VIP免费)
自控工程师3.5(VIP免费)
伺服变频维修工程师(VIP免费)
GPT4.0-完整版-线路1(VIP免费)
GPT4.0-完整版-线路2(VIP免费)
GPT4.0-完整版-线路3(VIP免费)
自控工程师4.0版-线路1(VIP免费)
自控工程师4.0版-线路2(VIP免费)
自控工程师4.0版-线路3(VIP免费)
WinCC脚本编程机器人(VIP免费)
万能程序翻译
编程序专区