欧姆龙rxd指令讲解_欧姆龙PLC指令表

编程指令

顺序输入指令

顺序输出指令

顺序输出指令

定时器和计数器指令

比较指令

数据传送指令

指令助记符

装载LD

装载非LD NOT

与AND

与非AND NOT

或OR

或非OR NOT

与装载AND LD

或装载OR LD

非NOT

条件ON UP

条件OFF DOWN

指令助记符

输出OUT

输出非OUT NOT

保持KEEP

上升沿微分DIFU

下降沿微分DIFD

置位SET

复位RSET

多位置位SETA

多位复位RSTA

单一位置位SETB

单一位复位RSTB

指令助记符

结束END

空操作NOP

联锁IL

联锁解除ILC

多联锁区别保持MILH

多联锁区别释放MILR

多联锁解除MILC

跳转JMP

跳转结束JME

条件跳转CJP

FOR循环FOR

循环终止BREAK

下一个循环NEXT

指令助记符

定时器

TIM

编辑指令

数据移位指令

递增/递减指令

四则运算指令

转换指令

逻辑指令

特殊算术指令

特殊算术指令

表格数据处理指令

数据控制指令

指令助记符

移位寄存器SFT

可逆移位寄存器SFTR

字移位WSFT

算术左移ASL

算术右移ASR

循环左移ROL

循环右移ROR

一个数字左移SLD

一个数字右移SRD

左移N位NASL

双字左移N位NSLL

右移N位NASR

双字右移N位NSRL

指令助记符

二进制递增++

双字二进制递增++L

二进制递减--

双字二进制递减--L

BCD递增++B

双字BCD递增++BL

BCD递减--B

双字BCD递减--BL

指令助记符

无进位带符号二进制加法+

无进位带符号双字二进制加法+L

有进位带符号二进制加法+C

有进位带符号双字二进制加法+CL

无进位BCD加法+B

无进位双字BCD加法+BL

有进位BCD加法+BC

有进位双字BCD加法+BCL

无进位带符号二进制减法-

无进位带符号双字二进制减法-L

有进位带符号二进制减法-C

有进位带符号双字二进制减法-CL

无进位BCD减法-B

无进位双字BCD减法-BL

有进位BCD减法-BC

有进位双字BCD减法-BCL

带符号二进制乘法*

带符号双字二进制乘法*L

BCD乘法*B

双字BCD乘法*BL

带符号二进制除法/

带符号双字二进制除法/L

BCD除法/B

双字BCD除法/BL

指令助记符

BCD→二进制BIN

双字BCD→双字二进制BINL

二进制→BCD BCD

双字二进制→双字BCD BCDL

二进制求补NEG

数据译码MLPX

数据编码DMPX

ASCⅡ转换码ASC

ASCⅡ→HEX HEX

指令助记符

逻辑与ANDW

双字逻辑与ANDL

逻辑或ORW

双字逻辑或ORWL

异或XORW

双字异或XORL

求补COM

双字求补COML

指令助记符

算术处理APR

位计数器BCNT

指令助记符

浮点数→16位FIX

浮点数→32位FIXL

16位→浮点数FLT

32位→浮点数FLTL

浮点数加法+F

浮点数减法-F

浮点数除法/F

浮点数乘法*F

浮点符号比较

LD, AND, OR+=F

LD, AND, OR+<>F

LD, AND, OR+

LD, AND, OR+

LD, AND, OR+>F

LD, AND, OR+>=F

浮点数→ASCⅡ FSTR

ASCⅡ→浮点数FVAL

指令助记符

交换字节SWAP

帧校验和FCS

指令助记符

带自调整的PID控制PIDAT

时间比例输出TPO

标度SCL

标度2 SCL2

标度3 SCL3

平均值AVG

子程序指令

中断控制指令

高速计数器和脉冲输出指令

步指令

I/O单元指令

串行通信指令

时钟指令

故障诊断指令

其他指令

指令助记符

子程序调用SBS

子程序进入SBN

子程序返回RET

指令助记符

设置中断屏蔽MSKS

清除中断CLI

禁止中断DI

允许中断EI

指令助记符

模式控制INI

高速计数器当前值读取PRV

比较表载入CTBL

速度输出SPED

设置脉冲PULS

脉冲输出PLS2

加速度模式ACC

原点搜索ORG

可变占空比系数脉冲PWM

指令助记符

步定义STEP

步启动SNXT

指令助记符

I/O刷新IORF

7段译码SDEC

数字开关输入DSW

矩阵输入MTR

7段显示输出7SEG

指令助记符

发送TXD

接收RXD

指令助记符

日历加法CADD

日历减法CSUB

时钟调整DATE

指令助记符

故障报警FAL

严重故障报警FALS

指令助记符

设置进位STC

清除进位CLC

延长最大循环时间WDT

TIMX

计数器

CNT

CNTX

高速定时器

TIMH

TIMHX

1MS定时器

TMHH

TMHHX

累计定时器

TTIM

TTIMX

长时间定时器

TIML

TIMLX

可逆计数器

CNTR

CNTRX

定时器/计数器复位

CNR

CNRX

指令助记符

输入比较指令

(无符号)

LD,AND,OR+=

LD,AND,OR+<>

LD,AND,OR+<

LD,AND,OR+

LD,AND,OR+>

LD,AND,OR+>=

输入比较指令

(双字长,无符号)

LD,AND,OR+=+L

LD,AND,OR+<>+L

LD,AND,OR+

LD,AND,OR+

LD,AND,OR+>+L

LD,AND,OR+>=+L

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
下面是一个简单的MII协议发送器的Verilog代码,包含4位的mac_mii_rxd,mac_mii_rxdv,mac_mii_rxclk,mac_mii_rxer。 ``` module MII_TX ( input wire [3:0] mac_mii_rxd, // 输入数据 input wire mac_mii_rxdv, // 输入数据有效 input wire mac_mii_rxclk, // 输入时钟 input wire mac_mii_rxer, // 输入错误信号 output reg MII_TX_EN, // MII TX 使能信号 output reg [3:0] MII_TXD, // MII TX 数据输出 output reg MII_TX_ER // MII TX 错误信号输出 ); reg [3:0] tx_data; // 发送数据寄存器 reg [1:0] tx_state; // 发送状态寄存器 reg tx_en; // 发送使能信号 assign MII_TX_EN = tx_en; assign MII_TXD = tx_data; assign MII_TX_ER = mac_mii_rxer; // 状态定义 parameter IDLE = 2'b00; parameter PREAMBLE = 2'b01; parameter START = 2'b10; parameter DATA = 2'b11; // 发送时钟计数器 reg [3:0] clk_counter; // 状态处理 always @(posedge mac_mii_rxclk) begin case (tx_state) IDLE: begin tx_data <= 4'b0000; if (mac_mii_rxdv && !mac_mii_rxer) begin tx_en <= 1; tx_state <= PREAMBLE; clk_counter <= 4'h0; end else begin tx_en <= 0; end end PREAMBLE: begin if (clk_counter == 4'hF) begin tx_data <= 4'b0001; tx_state <= START; clk_counter <= 4'h0; end else begin tx_data <= 4'b0000; clk_counter <= clk_counter + 1; end end START: begin tx_data <= mac_mii_rxd; tx_state <= DATA; end DATA: begin if (clk_counter == 4'hF) begin if (mac_mii_rxdv && !mac_mii_rxer) begin tx_data <= mac_mii_rxd; clk_counter <= 4'h0; end else begin tx_data <= 4'b0000; tx_en <= 0; tx_state <= IDLE; end end else begin tx_data <= mac_mii_rxd; clk_counter <= clk_counter + 1; end end endcase end endmodule ``` 在这个模块,输入的数据和控制信号是mac_mii_rxd,mac_mii_rxdv,mac_mii_rxclk和mac_mii_rxer。输出的信号是MII_TX_EN,MII_TXD和MII_TX_ER。模块包含一个状态机,用于管理发送过程。在状态机,发送数据被存储在tx_data寄存器。发送状态被存储在tx_state寄存器。tx_en信号用于控制MII TX使能。MII_TX_EN输出会被连接到PHY的TX_EN信号输入。tx_data被连接到PHY的TXD[3:0]信号输入。MII_TX_ER输出被连接到PHY的TX_ER信号输入。这个模块从IDLE状态开始。在IDLE状态下,它等待mac_mii_rxdv和!mac_mii_rxer信号的出现。一旦接收到这些信号,它将进入PREAMBLE状态,在这个状态下,它将发送4个字节的前导码。一旦发送完前导码,它将进入START状态,在这个状态下,它将发送要发送的数据。一旦发送完数据,它将进入DATA状态,在这个状态下,它将等待mac_mii_rxdv和!mac_mii_rxer信号的出现,并继续发送数据。如果mac_mii_rxdv和!mac_mii_rxer信号消失,它将返回到IDLE状态,等待下一次发送请求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值