到让所有“Y-”开头的排在“Y2-”开头的前面

本文档提供了关于如何使用Microsoft SQL Server 2008创建数据库表并进行数据操作的具体步骤,包括创建测试表、插入数据记录及按条件排序查询等基本操作,适合初学者快速上手。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

--> 数据库版本:
--
> Microsoft SQL Server 2008 (RTM) - 10.0.1600.22
--
> 测试数据:[TB]
IF  EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[TB]')
AND type in (N'U'))
DROP TABLE [TB]
GO

---->建表
create table [TB]([fmodel] varchar(9),[fqty] int)
insert [TB]
select 'Y2-0.55-4',7 union all
select 'Y2-18.5-2',1 union all
select 'Y2-18.5-4',5 union all
select 'Y-22.2-2',12 union all
select 'Y-2.2-4',61 union all
select 'Y-2.2-6',24 union all
select 'Y2-0.18-4',1 union all
select 'Y2-0.25-2',3 union all
select 'Y2-0.25-6',4
GO



--> 查询结果
SELECT * FROM [TB]
order by left(fmodel,2),fmodel
--> 删除表格
--
DROP TABLE [TB]

|----[ ]-----------------------[MOV K1 D0]-----------------| // 初始化水泵队列指针 | M8002 (初始化脉冲) | | | |----[ ]-----------------------[MOV K0 D1]-----------------| // 初始化水泵运行标志 | M8002 | | | |----[ ]-----------------------[MOV K1 D2]-----------------| // 初始目标数量=1台 | M8002 | | | |--[X0]--------[X1]---------[RST M0] [RST M1] [RST M2] [RST M3] // 自动模式时复位手动请求 | 下降沿 | | | |--[X0]--------[ ]---------[RST M10][RST M11][RST M12][RST M13] // 手动模式时复位自动请求 | 上升沿 | | | |--[X1]--------[ ]---------[RST M10][RST M11][RST M12][RST M13] // 自动停止时复位自动请求 | 下降沿 | | | |===================== 手动控制部分 ========================| |--[X0]--[X5]--[X6]--[X15]--(SET M0) // 水泵1手动启动 (带过载保护) |--[X0]--[X6]-----------(RST M0) // 水泵1手动停止 |--[X0]--[NOT X15]------(RST M0) // 水泵1过载停止 | | |--[X0]--[X7]--[X10]-[X16]-(SET M1) // 水泵2手动启动 |--[X0]--[X10]----------(RST M1) // 水泵2手动停止 |--[X0]--[NOT X16]------(RST M1) // 水泵2过载停止 | | |--[X0]--[X11]-[X12]-[X17]-(SET M2) // 水泵3手动启动 |--[X0]--[X12]----------(RST M2) // 水泵3手动停止 |--[X0]--[NOT X17]------(RST M2) // 水泵3过载停止 | | |--[X0]--[X13]-[X14]-[X20]-(SET M3) // 水泵4手动启动 |--[X0]--[X14]----------(RST M3) // 水泵4手动停止 |--[X0]--[NOT X20]------(RST M3) // 水泵4过载停止 | | |===================== 自动控制部分 ========================| |--[NOT X0]--[X1]------------------------------------------| | | | // 压力开关逻辑处理 | |--[X2]-----------------[T0 K300]------| // K1接通延时30s |--[T0]--[X2]--[D2<4]----(INC D2) | // 增加水泵目标数 | | |--[X4]-----------------[T1 K300]------| // K3接通延时30s |--[T1]--[X4]--[D2>1]----(DEC D2) | // 减少水泵目标数 | | | // 水泵队列管理 (D0=当前指针, D1=运行标志) | |--[D1<D2]--[CMP D0 K1]--[NOT M10]----(SET M10) [INC D0] | // 启动水泵1 |--[D1<D2]--[CMP D0 K2]--[NOT M11]----(SET M11) [INC D0] | // 启动水泵2 |--[D1<D2]--[CMP D0 K3]--[NOT M12]----(SET M12) [INC D0] | // 启动水泵3 |--[D1<D2]--[CMP D0 K4]--[NOT M13]----(SET M13) [MOV K1 D0] | // 启动水泵4并重置指针 | | |--[D1>D2]--[M10]--------(RST M10) [INC D0] // 停止水泵1 | |--[D1>D2]--[M11]--------(RST M11) [INC D0] // 停止水泵2 | |--[D1>D2]--[M12]--------(RST M12) [INC D0] // 停止水泵3 | |--[D1>D2]--[M13]--------(RST M13) [MOV K1 D0] // 停止水泵4并重置指针 | | | // 更新实际运行数量 | |--[ ]-------------------[BMOV M10 K4M100 K1] | // 复制运行标志到M100-M103 |--[ ]-------------------[DCNT K4M100 D1] | // 计算运行水泵数量(D1) | | |===================== 输出控制部分 ========================| |--[M0]--[X0]-----------------------(Y0) // 手动控制水泵1 | |--[M10]--[NOT X0]--[X1]--[X15]----(Y0) // 自动控制水泵1 | |--[Y0]-----------------------------(Y4) // 水泵1状态指示 | | | |--[M1]--[X0]-----------------------(Y1) // 手动控制水泵2 | |--[M11]--[NOT X0]--[X1]--[X16]----(Y1) // 自动控制水泵2 | |--[Y1]-----------------------------(Y5) // 水泵2状态指示 | | | |--[M2]--[X0]-----------------------(Y2) // 手动控制水泵3 | |--[M12]--[NOT X0]--[X1]--[X17]----(Y2) // 自动控制水泵3 | |--[Y2]-----------------------------(Y6) // 水泵3状态指示 | | | |--[M3]--[X0]-----------------------(Y3) // 手动控制水泵4 | |--[M13]--[NOT X0]--[X1]--[X20]----(Y3) // 自动控制水泵4 | |--[Y3]-----------------------------(Y7) // 水泵4状态指示 | 上面是利用三菱fx2n系列写的plc代码,使用gx works2软件。如何解决一按下x2过30s四个泵都启动的问题,当然,按下x4过30s也会出类似问题
06-04
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值