欧姆龙协议宏
数据采集系统中通信协议宏的应用

中图分类 号 :T 2 3 P 7
Ab t a t I n u ti le v r n n ,t e d t c uii o y t msa e i r a a i t n h r n miso s e sl e n n e f r d.T v r s r c : n i d sra n io me t h a a a q st n s se r n a g e tv re y a d t e ta s s i n i a i b i g i t re e i y o o e—
w r ,teR -8 ei o ae h S 4 5sr lcmmu iainpooo sw ie ,a d tru h cln MC ( 6 a nct rtcli rtn n ho g al gP R 2 0)is ut n,te ayc rn u rtclmar o t i nt ci r o h sn ho ospo o o co
数显表 I 数显表 I I ቤተ መጻሕፍቲ ባይዱl 数显表 I I 数显表 l 数显表 I
字运算操作 的电子装 置 , 具有 控制功 能强 、 可靠性 高 、 使用灵活方便且易于扩展 等优点 。通信协议宏是用来 与装有 R -3 S22或 R 一2 / S4 5口的通信 设备 进行 S4 2 R .8
武 太 支 赵 世 平 蜜义 f g 》
( 四川大 学制造 科 学- b工程 学 院, 四川 成都 606 ) 10 5
摘
要 :为 了克 服工业 环境 中数 据采集 种类 繁杂 、 传输 易受 干扰 等缺点 , 计 了 一种 基 于欧 姆龙 通 信 协议 宏 的数 据采 集 系 统 。利 用 设
c me te e d me i -ted t c ust ns se b s d o o h s e rt h aaa q iio ytm a e n Omrn c mmu iainp oo o coh sbe n d sg e s i o o nc t r tc lma r a e ein d.Byu ig CX—r tc lsf— o sn P oo o ot
欧姆龙CP1E MODBUS通讯协议

响应数据字节 数 2字节
D1253
数据有效字节 数
1字节
响应数 据
2字节
D1254--
响应数据 校验码
........... 2字节 ---D129 9
功能码 10码(写寄存器) 指令帧
从站地址 2字节 D1200
功能码 2字节 D1201
通讯数据字节 数
2字节
D1202
写寄存器开始 地址
2字节
写取寄存器 个数
2字节
D1207
C4 0 0
00 00 给定到 0001h(F001 高位) 09 C4 给定到 0002h(F001 低位)
变频器地址是0001 ,通过modbus 通讯地址需要减1 ,modbus通讯的起始地址是从1开始的 在所写数据的字节数框: 04是所写字节数,00 00 为所写的数据,因为04把D1205的高位占据,数据内容 占据D1205低位和D1206高位 设定频率分辨率为0.01,09C4 9*16~2+12*16~1+4+16~0 =2500 2500*00.1=25 输入的数据,即是25HZ频率
指令帧
从站地址
2字节 D1200
00 0 1
功能码
2字节 D1201
00 0 3
通讯数据字节 数 2字节 D1202
00 04
读寄存器开始 地址 2字节 D1203
10 00
读取寄存器个 数 2字节 D1204
00 02
校验码 2字节
响应帧
从站地址
2字节 D1250
00 01
功能码
2字节 D1251
cp1emodbus通讯协议功能码03码读寄存器指令帧从站地址功能码通讯数据字节读寄存器开始地址读取寄存器个校验码2字节2字节2字节2字节2字节2字节d1200d1201d1202响应帧从站地址功能码错误代响应数据校验码2字节2字节2字节2字节1字节2字节2字节d1250d1251d1252d1253d1254功能码10码写寄存器指令帧从站地址功能码通讯数据字节写寄存器开始地址写取寄存器个数所写数据字节校验码2字节2字节2字节2字节2字节1字节2字节d1200d1201d1202响应帧从站地址功能码错误代写入寄存器开始地址写入寄存器个数校验码2字节2字节2字节2字节2字节2字节2字节d1250d1251d1252d1253功能码05码写入位指令帧从站地址功能码通讯数据字节校验码2字节2字节2字节2字节2字节2字节d1200d1201d1202响应帧从站地址功能码错误代校验码2字节2字节2字节2字节2字节2字节2字节d1250d1251d1252d1253例
欧姆龙指令集全

欧姆龙指令集全3.1 时序输入指令223.1.1 读LD/读?非LDNOT223.1.2 与AND/与?非ANDNOT233.1.3 或OR/或?非ORNOT233.1.4 块?与ANDLD243.1.5 块?或ORLD243.1.6 非NOT(520)253.1.7 P.F.上升沿微分UP(521)253.1.8 P.F.下降沿微分DOWN(522)253.1.9 LD型?位测试LDTST(350)/LD型?位测试非LDTSTN (351)263.1.1 0AND型?位测试ANDTST(350)/ANDLD型?位测试非ANDTSTN(351)26 3.1.1 1OR型?位测试ORTST(350)/OR型?位测试非ORTSTN(351)273.2 时序输出指令273.2.1 输出OUT/输出非OUTNOT273.2.2 临时存储继电器TR283.2.3 保持KEEP(011)283.2.4 上升沿微分DIFU(013)293.2.5 下降沿微分DIFD(015)293.2.6 置位SET/复位RSET293.2.7 多位置位SETA(530)303.2.8 多位复位RSTA(531)303.2.9 1位置位SETB(532)/1位复位RSTB(533)313.2.1 01位输出OUTB(535)313.3 时序控制指令323.3.1 结束END(001)323.3.2 无功能NOP(000)323.3.3 互锁IL(002)/互锁解除ILC(003)333.3.4 多重互锁(微分标志保持型)MILH(517)/多重互锁(微分标志非保持型)MILR(518)/多重互锁解除MILC(519)333.3.5 转移JMP(005)/转移结束JME(005)343.3.6 条件转移CJP(510)/条件非转移CJPN(511)/转移结束JME(005)35 3.3.7 多重转移JMP0(515)/多重转移结束JME0(516)353.3.8 循环开始FOR(512)/循环结束NEXT(513)363.3.9 循环中断BREAK(515)37第4章定时器/计数器指令384.1 定时器指令384.1.1 定时器TIM/TIMX(550)384.1.2 高速定时器TIMH(015)/TIMHX(551)394.1.3 超高速定时器TMHH(540)/TMHHX(552)394.1.4 累计定时器TTIM(087)/TTIMX(555)404.1.5 长时间定时器TIML(542)/TIMLX(553)414.1.6 多输出定时器MTIM(543)/MTIMX(554)414.2 计数器指令424.2.1 计数器CNT/CNTX(546)424.2.2 可逆计数器CNTR(012)/CNTRX(548)434.2.3 定时器/计数器复位CNR(545)/CNRX(547)43第5章数据指令445.1 数据比较指令465.1.1 符号比较=、<>、<、<=、>、>=(S、L)(LD/AND/OR型)(300~328)465.1.2 时刻比较=DT、<>DT、<dt、<=dt、bdsfid="109">DT、>=DT(LD/AND/OR型)(341~346)49 5.1.3 无符号比较CMP(020)/无符号倍长比较CMPL(060)50</dt、<=dt、>5.1.4 带符号BIN比较CPS(114)/带符号BIN倍长比较CPSL(115)505.1.5 多通道比较MCMP(019)515.1.6 表格一致TCMP(085)515.1.7 无符号表间比较BCMP(068)525.1.8 扩展表间比较BCMP2(502)525.1.9 区域比较ZCP(088)/倍长区域比较ZCPL(116)535.2 数据传送指令545.2.1 传送MOV(021)/倍长传送MOVL(498)545.2.2 否定传送MVN(022)/否定倍长传送MVNL(499)545.2.3 位传送MOVB(082)555.2.4 数字传送MOVD(083)555.2.5 多位传送XFRB(062)565.2.6 块传送XFER(070)565.2.7 块设定BSET(071)575.2.8 数据交换XCHG(073)/数据倍长交换XCGL(562)575.2.9 数据分配DIST(080)575.2.1 0数据抽取COLL(081)585.2.1 1变址寄存器设定MOVR(560)/MOVRW(561)585.3 数据移位指令595.3.1 移位寄存器SFT(010)595.3.2 左右移位寄存器SFTR(084)595.3.3 非同步移位寄存器ASFT(017)605.3.4 字移位WSFT(016)605.3.5 1位左移位ASL(025)/1位倍长左移位ASLL(570)605.3.6 1位右移位ASR(026)/1位倍长右移位ASRL(571)615.3.7 带CY左循环1位ROL(027)/带CY倍长左循环1位ROLL(572)615.3.8 无CY左循环1位RLNC(574)/无CY倍长左循环1位RLNL(576)625.3.9 带CY右循环1位ROR(028)/带CY倍长右循环1位RORL(573)625.3.1 0无CY右循环1位RRNC(575)/无CY倍长右循环1位RRNL(577)625.3.1 11位左移位SLD(074)635.3.1 21位右移位SRD(075)635.3.1 3N位数据左移位NSFL(578)645.3.1 4N位数据右移位NSFR(579)645.3.1 5N位左移位NASL(580)/N位倍长左移位NSLL(582)655.3.1 6N位右移位NASR(581)/N位倍长右移位NSRL(583)655.4 数据转换指令665.4.1 BCD→BIN转换BIN(023)/BCD→BIN倍长转换BINL (058)665.4.2 BIN→BCD转换BCD(024)/BIN→BCD倍长转换BCDL (059)665.4.3 2的补数转换NEG(160)/2的补数倍长转换NEGL(161)675.4.4 符号扩展SIGN(600)685.4.5 4→16/8→256解码器MLPX(076)685.4.6 16→4/256→8编码器DMPX(077)695.4.7 ASCII代码转换ASC(086)705.4.8 ASCII→HEX转换HEX(162)705.4.9 位列→位行转换LINE(063)715.4.1 0位行→位列转换COLM(064)715.4.1 1带符号BCD→BIN转换BINS(470)725.4.1 2带符号BCD→BIN倍长转换BISL(472)735.4.1 3带符号BIN→BCD转换BCDS(471)745.4.1 4带符号BIN→BCD倍长转换BDSL(473)755.4.1 5格雷码转换GRY(474)765.5 数据控制指令775.5.1 PID运算PID(190)775.5.2 自带整定PID运算PIDAT(191)78 5.5.3 上下限限位控制LMT(680)79 5.5.4 死区控制BAND(681)805.5.5 死区控制ZONE(682)815.5.6 时分割比例输出TPO(685)81 5.5.7 定校比例SCL(194)825.5.8 定校比例2SCL2(486)835.5.9 定校比例3SCL3(487)835.5.1 0数据平均化AVG(195)845.6 表格数据处理指令855.6.1 栈区域设定SSET(630)855.6.2 栈数据存储PUSH(632)865.6.3 后进先出LIFO(634)865.6.4 先进先出FIFO(633)875.6.5 表区域声明DIM(631)875.6.6 记录位置设定SETR(635)885.6.7 记录位置读取GETR(636)885.6.8 数据检索SRCH(181)895.6.9 字节交换SWAP(637)895.6.1 0最大值检索MAX(182)905.6.1 1最小值检索MIN(183)915.6.1 2求和SUM(184)915.6.1 3FCS值计算FCS(180)925.6.1 4栈数据数输出SNUM(638)92 5.6.1 5栈数据参见SREAD(639)93 5.6.1 6栈数据更新SWRIT(640)93 5.6.1 7栈数据插入SINS(641)945.6.1 8栈数据删除SDEL(642)94第6章运算指令966.1 自加/自减指令(增量/减量指令)996.1.1 BIN增量++(590)/BIN倍长增量++L(591)996.1.2 BIN减量--(592)/BIN倍长减量--L(593)100 6.1.3 BCD增量++B(594)/BCD倍长增量++BL(595)1016.1.4 BCD减量--B(596)/BCD倍长减量--BL(597)1026.2 四则运算指令1036.2.1 带符号?无CYBIN加法+(400)/带符号?无CYBIN倍长加法+L(401)103 6.2.2 符号?带CYBIN加法+C(402)/符号?带CYBIN倍长加法+CL(403)1046.2.3 无CYBCD加法+B(404)/无CYBCD倍长加法+BL(405)1056.2.4 带CYBCD加法+BC(406)/带CYBCD倍长加法+BCL (407)1056.2.5 带符号?无CYBIN减法-(410)/带符号?无CYBIN倍长减法-L(411)106 6.2.6 符号?带CYBIN减法-C(412)/符号?带CYBIN倍长减法-CL(413)107 6.2.7 无CYBCD减法-B(414)/无CYBCD倍长减法-BL(415)1086.2.8 带CYBCD减法-BC(416)/带CYBCD倍长减法-BCL (417)1096.2.9 带符号BIN乘法*(420)/带符号BIN倍长乘法*L(421)1106.2.1 0无符号BIN乘法*U(422)/无符号BIN倍长乘法*UL (423)1116.2.1 1BCD乘法*B(424)/BCD倍长乘法*BL(425)1116.2.1 2带符号BIN除法/(430)/带符号BIN倍长除法/L (431)1126.2.1 3无符号BIN除法/U(432)/无符号BIN倍长除法/UL (433)1136.2.1 4BCD除法/B(434)/BCD倍长除法/BL(435)1146.3 逻辑运算指令1146.3.1 字逻辑积ANDW(034)/字倍长逻辑积ANDL(610)1146.3.2 字逻辑和ORW(035)/字倍长逻辑和ORWL(611)1156.3.3 字同或逻辑和XORW(036)/字倍长同或逻辑和XORL (612)1166.3.4 字异或XNRW(037)/字倍长异或XNRL(613)1166.3.5 位反转COM(029)/位倍长反转COML(614)1176.4 特殊运算指令1186.4.1 BIN平方根运算ROTB(620)1186.4.2 BCD平方根运算ROOT(072)1186.4.3 数值转换APR(069)1196.4.4 浮点除法(BCD)FDIV(079)1196.4.5 位计数BCNT(067)1206.5 浮点转换?运算指令1206.5.1 浮点→16位BIN转换FIX(450)1206.5.2 浮点→32位BIN转换FIXL(451)1216.5.3 16位BIN→浮点转换FLT(452)1216.5.4 32位BIN→浮点转换FLTL(453)1216.5.5 浮点加法+F(454)1226.5.6 浮点减法-F(455)1226.5.7 浮点乘法*F(456)1226.5.8 浮点除法/F(457)1236.5.9 角度→弧度转换RAD(458)1236.5.1 0弧度→角度转换DEG(459)1236.5.1 1SIN运算SIN(460)1246.5.1 2COS运算COS(461)1246.5.1 3TAN运算TAN(462)1246.5.1 4SIN?1运算ASIN(463)1256.5.1 5COS?1运算ACOS(464)1256.5.1 6TAN?1运算ATAN(465)1256.5.1 7平方根运算SQRT(466)1266.5.1 8指数运算EXP(467)1266.5.1 9对数运算LOG(468)1266.5.2 0乘方运算PWR(840)1276.5.2 1单精度浮点数据比较=F、<>F、<f、<=f、bdsfid="242">F、>=F(LD/AND/OR型)(329~334)127</f、<=f、>6.5.2 2浮点<单>→字符串转换FSTR(448)1286.5.2 3字符串→浮点<单>转换FVAL(449)1296.6 (倍)双精度浮点转换?运算指令1306.6.1 浮点→16位BIN转换<倍>FIXD(841)1306.6.2 浮点→32位BIN转换<倍>FIXLD(842)1306.6.3 16位BIN→浮点转换<倍>DBL(843)1306.6.4 32位BIN→浮点转换<倍>DBLL(844)1316.6.5 浮点加法<倍>+D(845)1316.6.6 浮点减法<倍>-D(846)1316.6.7 浮点乘法<倍>×D(847)1326.6.8 浮点除法<倍>/D(848)1326.6.9 角度→弧度转换<倍>RADD(849)1326.6.1 0弧度→角度转换<倍>DEGD(850)1336.6.1 1SIN运算<倍>SIND(851)1336.6.1 2COS运算<倍>COSD(852)1336.6.1 3TAN运算<倍>TAND(853)1346.6.1 4SIN?1运算<倍>ASIND(854)1346.6.1 5COS?1运算<倍>ACOSD(855)1346.6.1 6TAN?1运算<倍>ATAND(856)1356.6.1 7平方根运算<倍>SQRTD(857)1356.6.1 8指数运算<倍>EXPD(858)1356.6.1 9对数运算<倍>LOGD(859)1366.6.2 0乘方运算<倍>PWRD(860)1366.6.2 1倍精度浮点数据比较=D、<>D、<d、<=d、bdsfid="267">D、>=D(LD/AND/OR型)(335~340)136</d、<=d、>第7章子程序及中断控制指令1387.1 子程序指令1387.1.1 子程序调用SBS(091)1387.1.2 宏MCRO(099)1397.1.3 子程序进入SBN(092)/子程序返回RET(093)1407.1.4 全局子程序调用GSBS(750)1407.1.5 全局子程序进入GSBN(751)/全局子程序返回GRET (752)141 7.2 中断控制指令1427.2.1 中断掩码组MSKS(690)1427.2.2 中断掩码读取MSKR(692)1437.2.3 中断解除CLI(691)1447.2.4 中断任务执行禁止DI(693)1447.2.5 中断任务执行禁止解除EI(694)145第8章 I/O单元用和高速计数/脉冲输出指令1468.1 I/O单元用指令1478.1.1 I/O刷新IORF(097)1478.1.2 7段解码器SDEC(078)1478.1.3 数字式开关DSW(210)1488.1.4 10键输入TKY(211)1488.1.5 16键输入HKY(212)1498.1.6 矩阵输入MTR(213)1498.1.7 7段显示7SEG(214)1508.1.8 智能I/O读出IORD(222)1508.1.9 智能I/O写入IOWR(223)1518.1.1 0CPU高功能单元每次I/O刷新DLNK(226)1518.2 高速计数/脉冲输出指令1528.2.1 动作模式控制INI(880)1528.2.2 脉冲当前值读取PRV(881)1538.2.3 脉冲频率转换PRV2(883)1538.2.4 比较表登录CTBL(882)1548.2.5 频率设定SPED(885)1548.2.6 脉冲量设置PULS(886)1558.2.7 定位PLS2(887)1568.2.8 频率加减速控制ACC(888)1568.2.9 原点搜索ORG(889)1578.2.1 0PWM输出PWM(891)158第9章通信指令1599.1 串行通信指令1609.1.1 协议宏PMCR(260)1609.1.2 串行端口输出TXD(236)1609.1.3 串行端口输入RXD(235)1619.1.4 串行通信单元串行端口输出TXDU(256)1619.1.5 串行通信单元串行端口输入RXDU(255)1629.1.6 串行端口通信设定变更STUP(237)1639.2 网络通信用指令1639.2.1 网络发送SEND(090)1639.2.2 网络接收RECV(098)1649.2.3 指令发送CMND(490)1649.2.4 通用Explicit信息发送指令EXPLT(720)1659.2.5 Explicit读出指令EGATR(721)1659.2.6 Explicit写入指令ESATR(722)1669.2.7 ExplicitCPU单元数据读出指令ECHRD(723)166 9.2.8 ExplicitCPU单元数据写入指令ECHWR(724)167 第10章块指令16810.1 块程序指令16910.1.1 块程序BPRG(096)/块程序结束BEND(801)16910.1.2 块程序暂时停止BPPS(811)/块程序再启动BPRS(812)16910.1.3 带条件结束EXIT(806)/带条件结束(非)EXITNOT (806)17010.1.4 条件分支块IF(802)/条件分支块(非)IFNOT(802)/条件分支伪块ELSE(803)/条件分支块结束IEND(804)17010.1.5 1扫描条件等待WAIT(805)/1扫描条件等待(非)WAITNOT(805)171 10.1.6 定时等待TIMW(813)/TIMWX (816)17210.1.7 计数等待CNTW(814)/CNTWX(818)17310.1.8 高速定时等待TMHW(815)/TMHWX(817)17310.1.9 重复块LOOP(809)/重复块结束LEND(810)/重复块结束(非)LEND NOT(810)17410.2 功能块用特殊指令175变量类别获得GETID(286)175第11章字符串处理指令及特殊指令17611.1 字符串处理指令17611.1.1 字符串?传送MOV$(664)17611.1.2 字符串?连接+$(656)17711.1.3 字符串?从左读出LEFT$(652)17711.1.4 字符串?从右读出RGHT$(653)17811.1.5 字符串?从任意位置的读出MID$(654)17811.1.6 字符串?检索FIND$(660)17911.1.7 字符串?长度检测LEN$(650)17911.1.8 字符串?置换RPLC$(661)18011.1.9 字符串?删除DEL$(658)18011.1.1 0字符串?交换XCHG$(665)18111.1.1 1字符串?清除CLR$(666)18111.1.1 2字符串?插入INS$(657)18211.1.1 3字符串比较LD、AND、OR=$、<>$、<$、<=$、>$、>=$(670~675)182 11.2 特殊指令18311.2.1 置进位/清除进位STC(040)/CLC(041)18311.2.2 循环时间监视时间设定WDT(094)18411.2.3 条件标志保存CCS(282)/条件标志加载CCL(283)18411.2.4 CV→CS地址转换FRMCV(284)18511.2.5 CS→CV地址转换TOCV(285)186第12章其他指令18712.1 工序(程)步进控制指令188步梯形区域步进SNXT(009)/步梯形区域定义STEP(008)18812.2 显(表)示功能用指令189信息显示MSG(046)18912.3 时钟功能用指令19012.3.1 日历加法CADD(730)19012.3.2 日历减法CSUB(731)19012.3.3 时分秒→秒转换SEC(065)19112.3.4 秒→时分秒转换HMS(066)19112.3.5 时钟补正DATE(735)19212.4 调试处理指令192跟踪存储器取样TRSM(045)19212.5 故障诊断指令19312.5.1 运转持续故障诊断FAL(006)19312.5.2 运转停止故障诊断FALS(007)19412.5.3 故障点检测FPD(269)19512.6 任务控制指令19512.6.1 任务执行启动TKON(820)19512.6.2 任务执行待机TKOF(821)19612.7 机种转换用指令19712.7.1 块传送XFERC(565)197 12.7.2 数据分配DISTC(566)198 12.7.3 数据抽出COLLC(567)199 12.7.4 位传送MOVBC(568)200 12.7.5 位计数BCNTC(621)200。
欧姆龙串口通信协议-CJCWCS

欧姆龙串口通信协议-CJCWCS一,工作环境PC或服务器通过串口直接连接欧姆龙PLC。
(PLC串口为默认设置)设置串口参数:波特率:9600数据位:7停止位:2奇偶校验:偶校验(Even)流控:无设置自动换行。
设置ASKII码写入,ASKII码显示。
二,写指令例如,现在将0x1234,写入PLC的D100内。
命令如下:发送:@00FA0000000000102820064000001123479*解析:@为固定头00为PLC地址,默认PLC地址为0,可设定0--31FA为头编码,可为”FA”“RD”“WR”00000为5位等待时间,默认为0*10ms0000右到左依次是:ICF\DA2\SA2\SID各占一个字节默认为00 以上基本可以不变;0102为写入指令;若为“0101”则是读取指令82为欧姆龙PLC的DM区,即欧姆龙PLC的D区。
下图为欧姆龙PLC对应区域的标识。
0064为16进制的100,即D10000为位地址,即D100.000001为要写入的字数1234为要写入的内容,十六进制的123479为XOR校验值。
(这个我们最后讨论)*为结束标志。
(后面还有一位回车符\CR)返回:@00FA00400000000102000040*解析:其他都差不多意思,只有红色的0000表示写入成功。
三,读取命令例如,现在将D50字的内容读出来。
命令如下:发送:@00FA000000000010182002800000176*解析:蓝色部分不做解析了。
0101为读指令82为DM区002800为D50.000001为1个字76为XOR校验值。
返回:@00FA004000000001010000A5A543*解析:其他都差不多意思,黄色的0000表示读取成功;红色A5A5是从D50读取出来的值。
四,XOR校验位。
欧姆龙的串口校验方式为逐位异或校验。
就以读取指令来说明吧:@00FA000000000010182002800000176*首先将@00FA0000000000101820028000001的ASKII码逐一转为HEX。
欧姆龙通讯协议

使用举例: ComMS(1,0),由串口1读取0号PLC的操作状态;
4、改变PLC的操作状态 Function ComSC(nport,node,State:longint):Longint;stdcall; 参数: nport: 串口号,取值为1~8,代表COM1~COM8; node: PLC站号或节点号(单元号),取值为0~31; State:PLC状态参数,取值为0:编程、1:运行、2:监视; 返回值:长整型,操作成功返回1,否则返回0;
19200); DataBits:数据位,取值为5、6、7、8(推荐使用7或8); Parity: 校验位,取值为1(E)、2(O)、3(M)、4(S)、5(N),注括号里是校验位的英文缩
写; StopBits:停止位,取值为1(1)、2(2)、3(1.5),注括号里是实际的停止位位数 User:DLL授权用户名;
5、读取PLC的型号代码 Function ComMM(nport,node:Longint):Pchar;stdcall; 参数: nport: 串口号,取值为1~8,代表COM1~COM8; node: PLC站号或节点号(单元号),取值为0~31; 返回值:Pchar(字符串),返回值:"Error":表示读取错误
Order:读取各区命令字符见下表:
命令代码
读取区域
file:///C|/Documents and Settings/Administrator/桌面/新建 文本文档.txt[2010-11-19 12:08:54]
第四章 欧姆龙PLC简介

1.大容量的CPU、丰富的内部器件
和增/减脉冲输出两种情况,占空比50%。
4.时钟功能 CPM2A的内置时钟(精确度:±1分钟/月)允许用梯形图程 序读取日期和时间。通过编程器和其他编程工具改写时间。 CPM2A还有一个30秒的补偿位,当该位置为ON时,时间将自 动调整到最接近的分钟。因此,在电台报时时,打开该位就能
十分精确地设定时间。
中型可编程序控制器 大型可编程控制器
4.1 小型可编程序控制器
4.1.1 CPM2A 表4.1.1 CPM2A CPU单元的种类
1.指令系统有新的增加
定时器/计数器指令2种:高精度定时器(单位:1 ms),长定时器 (单位:1 s/10 s)。
比较指令2种:区域比较,双字区域比较。
转换指令6种:双字BCD→双字BIN转换,双字BIN→双字BCD转 换,ASCII→十六进制转换,二进制补码,小时→秒转换,秒→小 时转换。 表格数据操作指令5种:帧校验,求和,数据搜索,取最大值,取 最小值。
C200Hα的特殊功能单元和通信联网有以下特点:
1.特殊功能单元丰富
2.通信板与通信协议宏功能
3.通信联网
4.2.2 CS1系列可编程序控制器
CIO 0 00 0 按离CPU 机架距 离顺序 分配字 0 1 2 3 4 5 6 7 CPU
CPU 电源
0 1 2 3 4 0 CS1扩展
OMRON CJ1学习资料

第一部分 OMRON CJ1功能介绍直接进入正题本次培训针对CJ1系列的PLC,介绍CJ1系列PLC的特点,功能和操作今天介绍第一部分 CJ1系列的系统构成在介绍CJ1系列之前,我先废话一些,谈谈关于CJ1系列PLC的定位,我个人认为作为CJ1系列(包括CJ1M)在OMRON现有的PLC中应该定位在中小型机,那有人会问“微型机”和“大型机”有哪些机型呢市场上目前还在销售的机型中CPM1A/2A/2AH/2C/2B,CQM1H,C200HA,这些机型已经不是主流产品,当然也不是主推产品,它们属于C系列下的PLC。
CV,CVM1系列在原来是属于大型机,目前也不是主推产品,它们属于CV系列,这里我们不再对这些机型再做说明感性趣的同事可以参考相应的手册学习。
在我们主推的产品中,微型机的代表机型是:CP1L,CP1H中小型机的代表机型是:CJ1M,CJ1G/H大型机的代表机型是:CS1,CS1D这种划分方式是为了更好地从整体角度学习PLC知识,提供给大家仅供参考。
言归正传,OMRON中小型PLC的特点是什么呢?简单地来说就三点1。
体积小 2。
CPU处理速度快(CJ1M-CQM1H;CJ1G/H-C200HA 相比较而言) 3。
网络及串行通信功能增强(与C200HA相比)一、特点1。
体积小,结构紧凑。
这个特点显而易见,不用我多说。
需要说明的是,由于没有底板,所以安装时不用受底板槽位限制,空间位置安排比较灵活。
但是,牢固性不如有底板的结构2。
CPU处理速度快(样本中有关于这部分的说明,这里不再重复)。
按照CPU处理速度,可以将CPU分为四个类型执行LD时间(微秒)CJ1M 0。
1CJ1G-H 0。
04CJ1H-H 0。
02CJ1H-H-R 0。
016(新CPU机型)同时也增加了支持该机型的一些指令关于这部分说明大家请参考CJ1H-H-R的样本(网站下载)关于这部分内容大家可以参考教材的第一章,第一节内容。
3。
欧姆龙PLC通信协议

欧姆龙PLC通信协议参考:W342--SYSMAC CS/CJ Series Communications Commands欧姆龙通信命令可分为两类:1:C-mode commands只可通过串口通讯2:FINS commands既可通过串口通讯也可通过各类网络通信(适应性较强)=========================================================== ====================下面只讲FINS命令一、命令发送:FINS直连发送命令如下:FINS command code见下表命令后面紧跟着就是内存区域寻址,见下表Command Code 后面紧跟着需要访问的地址,地址可分为按字地址或按位地址,取决于你需要访的的是字还是某一位。
由紧跟着Command Code后面的那个字节(I/O memory area designation)区分是读取字还是读取位,还是写入字或写入位,具体定义见下表:按字地址:选取表中Data Type列中为Word的命令(命令在Memory area code内)按字地址的三个地址位中,只使用前两个,最后一个字节为Ascii码”00”,其后跟两个字节为需要传输的数据量,然后紧跟着就是传输的数据,数据高位在前低位在后。
例如从H12开始读取7个字的数据,命令为:0101 B2 001200 0007例如将W3、W4、W5分别置数据1234、ABCD、7890,命令为:0102 B1 000300 0003 1234ABCD7890按位地址:选取表中Data Type列中为Bit的命令(命令在Memory area code内)按位地址的三个地址位中,前两个指示位所在的字,最后一个字节指示位在字中的位置(0~15),其后跟两个字节为需要传输的数据量,然后紧跟着就是传输的数据,每一位的值用一个字节的数据代替,当寻址的位为0时用ascii码“0”代替,当寻址的位为1时用ascii 码“1”代替。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
欧姆龙协议宏
欧姆龙协议(Omron Protocol)是一种工业通信协议,由欧姆
龙公司开发。
它主要用于工业自动化领域,为设备间的数据通信提供了标准化的解决方案。
该协议支持实时数据交换和控制指令传输,被广泛应用于自动化控制系统和机器人系统中。
欧姆龙协议的优势在于其高效且可靠的数据传输方式。
它采用基于串行通信的方式,使用RS-232和RS-485等标准物理层
接口,并通过点对点、多站点和总线型拓扑结构来建立通信网络。
这种通信方式使得协议能够在复杂的工业环境下稳定运行,并具有良好的抗干扰能力。
此外,欧姆龙协议还支持多种数据格式和数据类型的传输。
它可以传输数字、字符串、浮点数等多种数据类型,并可以通过位、字或者字节的方式进行传输。
这使得协议能够满足不同设备的数据交换需求,并方便了系统开发人员进行数据解析和处理。
欧姆龙协议的通信过程包括主站和从站之间的数据交互。
在通信开始时,主站通过发送指令来向从站获取数据或者发送控制指令。
从站接收到指令后,会进行相应的数据处理或者执行相应的控制操作,并将处理结果返回给主站。
主站在接收到从站返回的数据后,可以进行数据解析和处理,并根据需要发送下一条指令。
一个典型的欧姆龙协议的通信过程如下:主站首先发送请求帧给从站,并等待从站返回响应帧。
然后,主站会根据需要发送
数据帧给从站,从站在接收到数据帧后进行数据处理,并返回处理结果给主站。
主站在接收到从站返回的数据帧后进行解析和处理,并根据需要发送下一条请求帧或者结束通信。
欧姆龙协议在工业自动化领域得到了广泛的应用。
它在机器人系统、自动化控制系统、工业监控系统等方面发挥了重要的作用。
通过使用欧姆龙协议,不同厂家生产的设备可以进行数据交换和控制指令传输,实现系统的互联互通。
这不仅提高了生产效率,降低了成本,还为设备的集成和系统的维护提供了便利。
总之,欧姆龙协议是一种用于工业自动化领域的通信协议。
它具有高效、可靠和灵活的特点,通过支持多种数据格式和数据类型的传输,满足了不同设备的数据交换需求。
欧姆龙协议的应用为工业自动化领域的发展提供了有力的支持,推动了自动化技术的不断进步。