PLC比较指令与移动指令

一、比较指令

1、关系比较指令(CMP)

用于比较两个相同数据类型的大小,其中<>为不等于,其余都与常识一致

比较结果为逻辑值Ture->有能流经过;False->没有能流经过。

比较指令的符号如下图4-20所示

2、范围内和范围外指令

范围内指令IN_RANGE和范围外指令OUT_RANGE可意等效为一个触点,用于测试输入值在指定值的范围之内还是之外:

满足以下条件时IN_RANGE比较结果为真:MIN<=VAL<=MAX;

满足以下条件时OUT_RANGE比较结果为真:VAL<MIN或VAL>MAX;

范围内和范围外指令的符号如上图4-21所示

二、移动指令与移动快指令

1、移动指令MOVE

功能:将单个数据从IN参数指定的源地址复制到OUT参数指定的目标地址

2、块移动指令

(王阿妹没有自己的理解,因为这里有点儿迷糊,但估计就是和前面的保持型接触延时定时器与延时定时器的区别一个意思)

MOVE_BIK将数据块复制到新地址期间可中断移动

UMOVE_BIK将数据块复制到新地址期间不中断移动

MOVE_BIK和UMOVE_BIK具有附加的COUNT参数,COUNT参数指定要复制的数据的个数

移动和块移动指令的符号如下图所示

实例:灯闪烁控制程序设置

按上图4-24灯闪烁控制梯形图分析

程序段一:在整个电路中,没有设置使得第一次闪烁停止的标志位,只是使用与第二次按动的互锁,以及计数器为2时控制其停止完成。因此在第二次按动时需将第一次标志位复位。

程序段二:利用计数器统计当前的时需要闪烁还是停止,可以考虑计数为偶数时停止闪烁,奇数时开始闪烁,但是书中给出更加方便、精巧的设计:在计数到达2时给计数器复位,后续的闪动与停止只需匹配计数器CV是1还是2即可。

程序段三:建立第一次按钮按下的标志位,按下之后开始闪烁。

程序段四:按钮第二次按下,需要给计数器复位(但是在程序段二中还有复位指令,不知道为什么这里也要设置),同时第一次标志位也须复位(在程序段一中,按钮第二次按下已经给第一次标志位复位了,不知道为什么这里也要设置)

程序段五:闪烁功能设置的也非常精巧,由于不按下第二次按钮就会使得灯一致按照亮3s灭1s的规律闪动,以此需要设置周期为4s,但是计时器一般需要上升沿的产生才会开始计时,而第一次按下标志位一直处于1的状态,如何使其规律计时。

按照程序段五的第一行设置,利用接通延时的输出位即,C1.Q设置常闭触点在计时器之前,到达4s之后断电一瞬间,再次通电出现上升沿即可重新计时。

重新计时时间非常短,因为之前需要统计C1.Q时需要借助扫描上升沿信号

在PyTorch中制作自己的数据集可以通过继承`torch.utils.data.Dataset`类来实现。首先,你需要创建一个自定义的数据集类,例如`MyDataset`,并在该类中实现`__init__`、`__getitem__`和`__len__`方法。\[3\] 在`__init__`方法中,你可以初始化一些参数和函数,以便在`__getitem__`方法中使用。你还可以创建一个列表,用于存储图像和对应的标签。 在`__getitem__`方法中,你可以根据索引从文件中读取一个数据,例如使用`numpy.fromfile`或`PIL.Image.open`。然后,你可以对数据进行预处理,例如使用`torchvision.transforms`进行图像转换。最后,返回数据对,例如图像和标签。 在`__len__`方法中,你需要返回数据集的大小,即列表的长度。 下面是一个简单的示例代码,展示了如何制作一个自定义的数据集类: ```python import torch from torch.utils.data import Dataset from PIL import Image class MyDataset(Dataset): def __init__(self): super(MyDataset, self).__init__() # 初始化参数和函数 # 创建存储图像和标签的列表 def __getitem__(self, index): # 从文件中读取一个数据 # 预处理数据 # 返回数据对 def __len__(self): # 返回数据集大小 return len() ``` 你可以根据自己的需求在`__init__`、`__getitem__`和`__len__`方法中添加适当的代码来制作你的数据集。\[1\]\[2\] #### 引用[.reference_title] - *1* *2* [使用Pytorch框架自己制作做数据集进行图像分类(一)](https://blog.youkuaiyun.com/zwy_697198/article/details/123561769)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [Pytorch制作自己的数据集](https://blog.youkuaiyun.com/Vertira/article/details/127482001)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值