摘要: 一、实现场景 通过LM414-IOT网口eth0(内网)采集SMART200plc数据(smart200PLC做Modbus TCP Server),然后通过LM414-IOT网口eth1(外网)将数据推送到apollo服务器 二、硬件准备 LM414-IOT网关 1台 smart200 SR30 阅读全文
posted @ 2020-04-27 08:59 Tony.Jia 阅读(434) 评论(0) 推荐(0) 编辑
摘要: 当用 STEP7 连接 S7-200 时,会总提示“未找到指定的访问点”,情况如下图所示: 解决方法分五步走,如下: 1.新建一个记事本 2. 在记事本里中写入"%CommonProgramFiles%\\Siemens\\Automation\\SimaticOAM\\bin\\s7epaImp6 阅读全文
posted @ 2020-04-23 14:25 Tony.Jia 阅读(22101) 评论(0) 推荐(0) 编辑
摘要: 空文件夹是项目的子模块,需要用submodule下载。 @后面的数字是哈希值,用于确定唯一的提交状态。文件push时会压缩,然后上传同时生成一串检验字符串。at后面的数字就是检验字符串的前面部分, 是带有子模块的项目;需要进入下载的文件下,运行命令 git submodule update --in 阅读全文
posted @ 2020-04-19 13:14 Tony.Jia 阅读(4251) 评论(0) 推荐(0) 编辑
摘要: freemodbus的兼容性非常好,可以方便的在很多的平台进行移植,这与它的代码架构有很大的关系。这里我们不考虑代码的移植过程,仅仅分析它的层次结构。 我认为,freemodbus协议实际上是分了三个层次的 1. 应用层(或者说暴露给应用层的接口): 接口定义全部在头文件mb.h中包含,在mb.c中 阅读全文
posted @ 2020-04-16 19:53 Tony.Jia 阅读(351) 评论(0) 推荐(0) 编辑
摘要: 一、实验要求 二、代码实现 assume cs:code,ds:data data segment db 16 dup(0) data ends code segment start: mov ax,0f000h mov ds,ax mov si,0ffffh ;ds:si指向f000:ffff m 阅读全文
posted @ 2020-04-13 19:57 Tony.Jia 阅读(391) 评论(0) 推荐(0) 编辑
摘要: 一、实验要求 二、代码实现 1 assume cs:code,ds:data 2 3 data segment 4 db 'Welcome to masm!' 5 db 16 dup(0) 6 data ends 7 8 code segment 9 start: mov ax,data 10 mo 阅读全文
posted @ 2020-04-10 19:53 Tony.Jia 阅读(450) 评论(0) 推荐(0) 编辑
摘要: 在80X86中,段寄存器和与其对应存放偏移地址的寄存器之间有一种默认组合关系。 fs,gs是80386起增加的两个辅助段寄存器,在这之前只有一个辅助段寄存器ES,增加这两个寄存器是为了减轻ES寄存器的负担,并能更好地配合适用于通用寄存器组的基址和变址寄存器.这两个是通用的段寄存器,语法上同其它的段寄 阅读全文
posted @ 2020-04-09 08:01 Tony.Jia 阅读(694) 评论(0) 推荐(0) 编辑
摘要: 一、要求 ;编程计算1EF000H+201000H,结果放在ax(高16位)和bx(低16位)中 二、代码实现 1 assume cs:code 2 3 code segment 4 start: mov ax,001eh ;高16位 5 mov bx,0f000h ;低16位 6 add bx,1 阅读全文
posted @ 2020-04-07 07:54 Tony.Jia 阅读(382) 评论(0) 推荐(0) 编辑
摘要: 一、实验要求 二、代码实现 1 assume cs:code,ds:data 2 3 data segment 4 db 10 dup(0) 5 data ends 6 7 code segment 8 start: mov ax,12666 9 10 mov bx,data 11 mov ds,b 阅读全文
posted @ 2020-04-03 08:20 Tony.Jia 阅读(308) 评论(0) 推荐(0) 编辑
摘要: 一、实验要求 二、代码实现 1 assume cs:code,ss:stack 2 3 stack segment 4 dw 8 dup(0) 5 stack ends 6 7 code segment 8 start: mov ax,stack 9 mov ss,ax 10 mov sp,10H 阅读全文
posted @ 2020-04-02 13:07 Tony.Jia 阅读(298) 评论(0) 推荐(0) 编辑
摘要: 一、实验要求 二、代码实现 1 assume cs:code,ds:data 2 3 data segment 4 db 'welcome to masm!',0 5 data ends 6 7 code segment 8 start: mov dh,8 ;定义行(0-24) 9 mov dl,3 阅读全文
posted @ 2020-04-01 14:17 Tony.Jia 阅读(230) 评论(0) 推荐(0) 编辑
摘要: 一、要求 二、上机调试 1.debug调试开始,首先查看反编译后的汇编代码(假设ob38就是段地址1000) 2.执行第一条指令mov ax,6 3.执行第二条指令call ax,也就是call 6(我们知道,对于call 16位reg格式来说,相当于push ip;jmp 16位reg。) 执行了 阅读全文
posted @ 2020-03-31 13:45 Tony.Jia 阅读(921) 评论(0) 推荐(0) 编辑
摘要: 一、实验要求: 在屏幕中间分别显示绿色、红底绿色、白底蓝色的welcome to masm! 属性字节格式: 7 6 5 4 3 2 1 0 含义: BL R G B I R G B 闪烁 背景色 高亮 背景色 R:红色 G:绿色 B:蓝色 绿色:0x03 红底绿色:0x24 白底蓝色:0x71 分 阅读全文
posted @ 2020-03-30 11:24 Tony.Jia 阅读(259) 评论(0) 推荐(0) 编辑
摘要: 一、分析程序,在运行前思考:这个程序是否能够正确返回? 运行之后再思考:为什么是这种结果?通过这个程序加深对相关内容的理解。 1 assume cs:codesg 2 codesg segment 3 4 mov ax,4c00h 5 int 21h 6 7 start: mov ax,0 8 s: 阅读全文
posted @ 2020-03-29 10:54 Tony.Jia 阅读(1129) 评论(0) 推荐(0) 编辑
摘要: %d int%ld long%md m 为指定的输出字段的宽度。%u unsigned%c char%f 浮点型%.mf 输出实数时小数点后保留 m 位%s 字符串%o 以八进制形式输出整数%x 以十六进制形式输出整数int PrintVal = 9; /*按整型输出,默认右对齐*/ printf( 阅读全文
posted @ 2020-03-28 12:15 Tony.Jia 阅读(636) 评论(0) 推荐(0) 编辑