addr是什么软件 addr是什么程序

addr是什么软件
addr是PPS在线观看电视直播的一个插件,只要是用过PPS软件的,电脑上就会出现这个插件,addr是改进后的POP3模块插件。想要卸载addr的安装插件,可以打开软件管理应用程序,在卸载页面找到addr插件,点击一键卸载即可。addr是一个插件电脑上的addr是PPS在线看电...

addr是什么软件

addr是PPS在线观看电视直播的一个插件,只要是用过PPS软件的,电脑上就会出现这个插件,addr是改进后的POP3模块插件。想要卸载addr的安装插件,可以打开软件管理应用程序,在卸载页面找到addr插件,点击一键卸载即可。

addr是一个插件

电脑上的addr是PPS在线看电视直播安装的一个插件,如果用过PPS看电视直播,那么电脑上可能就会有addr软件,addr软件是改进后的POP3模块插件,不需要是可以删除的,不过会很难删除,建议用文件粉碎软件来删除。

想要卸载addr的安装插件,可以打开软件管理应用程序,进入软件管理的首页,然后选择卸载选项,在卸载选项页面中下滑找到addr插件,点击右侧的一键卸载,等待卸载完成就可以了,卸载好后对电脑其他软件没有任何影响。

插件是一种遵循一定规范的应用程序接口编写出来的程序,很多的软件都有插件,插件的种类繁多,有些插件的程序能帮助用户更方便的浏览因特网的或调用上网辅助功能,也有部分程序被称为广告软件或间谍软件,属于恶意插件程序。

其实,Modbus通讯很简单!——手把手教你

其实,Modbus通讯很简单!——手把手教你

主要内容:

S7-200 PLC Modbus通讯概述S7-200 PLC Modbus通讯指令S7-200 PLC Modbus通讯常问问题

(1)Modbus通讯

S7-200的Modbus通讯:

S7-200只支持Modbus RTU协议,不支持Modbus ASCII协议;Modbus是一种单主站的主/从通信模式。一条Modbus网络上同时只能有一台主站,从站可以有若干个(如下图所示)。从站的地址范围为1-247;一个Modbus通讯的传输字符应包括一个起始位,8个数据位,1个或0个校验位(奇偶校验或无校验可选择),以及一个停止位在S7-200 CPU通信口上实现的是RS485半双工通信,使用的是S7-200的自由口功能。

上图是一个典型的主站和从站的网络结构,对于Modbus主站而言可以对从站进行读或者写的操作,其中它所支持的功能码(FC,Function Code)包括主站左侧表格中所述功能,例如功能码为'01'时表示读取单个/多个线圈(DO)状态或功能码为'04'时表示读取单个/多个输入寄存器(AI)状态。而对于从站,我们只需要把Modbus的标准地址和从站的地址对应关系建立好就可以了,S7-200的从站与Modbus标准的对应关系如从站右侧表格所示。表中左侧是Modbus标准地址码,其中1-128对应于S7-200的Q0.0-Q15.7,10001-10128对应于S7-200的I0.0-I15.7,30001-30032对应于AIW0-AIW62,40001-4xxx对应的是S7-200的保持寄存器(V区),它的范围是T-T+2*(xxxx-1),T表示的是V区的起始地址,这一点由Modbus从站的指令所决定的。

Modbus的主站指令叫做MBUS_MSG,通过这条指令可以将Modbus的标准报文发给从站,例如在上图例子当中从站的第一个字节是03,表示的是从站的地址,FC功能码为03,表示的是读取单个/多个保存寄存器,Modbus标准地址是40001,长度是10。随着功能码的不同,报文的格式会发生相应的变化,具体的报文格式需要去参阅Modbus的通讯手册。

从站的指令时MBUS _SLAVE,在接到主站发给它的报文后会根据报文的需求返回报文,比如在上图例子中返回的格式是第一个字节为从站的地址,第二个为功能码,第三个是数据返回给主站,这样就完成了一次Modbus通讯的请求与应答的过程。

(2)Modbus库文件的安装和调用

如果想要应用Modbus指令库,那么首先需要到因特网上或者向西门子的客服人员申请名称为'Toolbox_V32-STEP 7-Micro WIN' 的指令库,将它解压并且安装到Micro WIN当中就可以使用了,安装后会在Micro WIN的库文件当中出现上图标记的三个库,其中Port0和Port1都可以做Modbus Master,而Slave只有Port0口可以做。

(3)Modbus库文件的使用

使用方法很简单,打开Modbus主站指令库会有相应的指令块出现,直接把指令块拖拽到程序当中进行调用就可以了。

在调用Modbus库指令的时候,需要注意一定记得为Modbus库文件分配库存储区。具体的方法是右键单击库,然后选择库存储区,在弹出来的对话框当中可以选择建议地址,自动分配一个程序里面不会用到的地址区间,也可以人为地手动填写起始地址,这个区间在程序当中不可以和其他的数据区相冲突,否则Modbus功能将不正常。所谓的库存储区其实就是Modbus指令库能够正常工作所必须的一部分背景数据,只要给它分配好区间并保证不与程序当中其他的地址相冲突就可以了。

(4)Modbus从站指令

从站指令一共有两条,第一条是从站的初始化指令(MBUS_INIT),另一条是MBUS_SLAVE从站指令,在Modbus从站的初始化指令当中涉及哪些内容呢?首先,第一个引脚Mode表示等于1的时候是启动Modbus,等于0的时候是关闭Modbus,Addr表示的是这个从站的从站地址,Baud表示波特率,Parity是奇偶校验,0是无校验,1是奇校验,2是偶校验,Delay是附加字符之间的延迟,MaxIQ表示的是最大I/Q地址(默认128),MaxAI表示的是最大AI长度(默认32),MaxHold表示的是最大的V存储区(VW),最关键的是HoldStart,表示的是V区起始地址(对应40001),在之前已经提到过S7-200作为从站的时候,它的V区地址对应于Modbus标准地址的起始地址是可更改的,那么就在这里进行设定,在本例中如果HoldStart写的是VB0,那么40001对应的地址就是VW0,40002对应的地址是VW2,40003对应的地址是VW4,以此类推,每一个标准的Modbus地址码对应的是一个Word,以字为单位,同样如果这里设的是VB100,那么40001对应的就是VW100,40002对应的是VW102,以此类推。这一条初始化指令只需要调用一次就可以了,所以在上图中用的是SM0.1在上电的时候执行一次就可以了。

MBUS_SLAVE这个功能块必须要用前面的条件必须是一直为1的,上图中用SM0.0。

(5)Modbus主站指令

Modbus主站指令当中的第一个块叫做MBUS_CTRL,MBUS_CTRL有哪些内容呢?我们来看一下引脚定义的说明:首先Mode写1的时候是选择Modbus,写0的时候是选择PPI;Baud表示波特率;Parity是奇偶校验,0是无校验,1是奇校验,2是偶校验,这与从站的设置相类似;Timeout表示的是主站等待从站响应的时间(ms);Done位是初始化完成;Error位表示的是故障代码。其中值得一提的是Timeout这个时间,主站等待从站响应的时间指的是什么呢?让我们来看一下主站和从站之间通讯的过程:

首先,主站会发一帧读写请求给从站,在主站的读写请求发出后,从站应当在Timeout指定的时间内返回应答;如果在此时间内从站没有应答,则主站发第2次读写请求,第2次还不行发第3次读写请求,如果连续3次在此时间内从站没有应答,则主站认定从站无相应,放弃该从站并报错。

下面来看主站的读写命令(MBUS_MSG),看一下引脚说明:首先First指的是读写请求触发(沿触发),每当First这一端来了一个沿,Modbus指令便会做出一次读或者写请求,RW标示的是这一次的命令是读还是写,0表示读,1表示写;Addr表示的是从站数据地址(Modbus标准地址格式),0开头、1开头、3开头和4开头的;Count指的是通讯数据的长度,最大120个字,单位可能是bit或word;DataPtr指的是参与通讯的本方数据区,如果是读指令标示的是读回来的指令放在本地的哪一块数据区,如果是写命令表示的是把本地的哪一块数据发给对方;Done位和Error位分别是功能完成和故障代码。

其中值得一提的是Count,刚才讲过它的单位可能是bit或word,究竟是bit或word取决于当时所用的Modbus标准的地址码是用的哪一块,如果对于1-128而言这是一个DO的输出,对于1开头的是一个DI的输入点,这个时候Count的单位指的是bit,而对于3开头和4开头的,那么是AI和保存寄存器,它们的单位是word。需要注意的是当Count的单位是Bit时,一定Count的数值设置为8的整数倍,否则会出错,这是因为一个基本传输的字符是包含8个数据位的,没有办法只传送一个或几个bit。

(6)Modbus主从站轮询

当存在Modbus多主站轮询的时候,在程序当中我们应当如何处理呢?上图中展示了这种方法。例如第一个MBUS_MSG指令我们可以利用它的Done位(本例中为M2.1),把它作为第二条MBUS_MSG指令的First前面的激活端,也就是说第一个MBUS_MSG完成的时候才会去激活下一条MBUS_MSG指令,那么同样,第二条指令完成时我们把它作为第三条MBUS_MSG指令的激活条件,在最后又把第三条指令的完成位还给第一条网络,这样的话就构成了一个循环的轮询方式。

(7)Modbus FAQ

Q1:S7-200是否支持Modbus ASCII模式?

答:S7-200可以支持上述模式,但是没有现成的指令库,需要用户自己利用自由口的方式编程。

Q2:项目编译后为何出现很多错误?

答:使用指令库时,若编译后出现很多错误,一般是因为未指定库指令数据存储区。

Q3:Modbus从站的网络地址与S7-200的CPU网络地址有何关系?

答:没有关系。支持网络通信的通信协议必须有其自己的网络寻址规定。Modbus从站的地址只是它在Modbus网络上的地址,而通常所说的S7-200 CPU地址是CPU在西门子的PPI网络上的站地址。

Q4:MBUS_MSG指令中代表数据长度的COUNT引脚单位是什么?

答:对于Modbus地址=0xxxx或1xxxx的,引脚单位为Bit;对于Modbus地址=3xxxx或4xxxx的,引脚单位为Word。

Q5:如何访问大于9999的保持寄存器地址?

答:Modbus Master协议库支持超过9999的保持寄存器地址。地址范围为400001-465536。只需在调用MBUS_MSG子程序时给Addr参数赋相应的值即可,如416768。

Q6:为何有些HMI软件使用Modbus RTU读取S7-200中的实数会出现错误?

答:不同的厂家关于浮点数格式定义的不同,西门子的PLC遵循的是高位低存的规律,和其他的厂家有可能会不一样,这样读回来的实数或整数的高低字节会发生反转,这个时候可以通过监控、判断,在程序当中把它掉过来就可以了。

Q7:MBUS_MSG显示Error 6#?

答:Error 6#表示Modbus正在忙于其它请求。MBUS_MSG指令同时只能允许有一个读写操作处于运行过程,如果在一个读写操作尚未完成时启用另外一个读写请求,就会发生Error 6#。利用Done位可以对规避这一问题。

Q8:MBUS_MSG显示Error 3#?

答:Error 3#表示从站无应答。即主站的读写请求发出后,从站没有在Timeout时间内返回报文。多种原因可以引起此故障,包括:

硬件故障(线路,端口等问题)。错误的从站地址,波特率,奇偶校验。从站不支持此功能码,或不能被从站识别的从站数据地址。Timeout时间过短(从站响应较慢),通过延长Timeout可以解决这个问题。

基于飞腾FT2000/4处理器的GDB远程调试实现

GDB远程调试环境由宿主机GDB和目标机调试代理共同构成,两者通过串口或TCP连接。使用GDB标准远程串行协议协同工作,实现对目标机上的系统内核和上层应用的监控和调试功能。调试代理是嵌入式系统中的一段代码,作为宿主机GDB和目标机调试程序间的一个媒介而存在。目标机调试代理需要实现GDB标准远程通信协议中的部分消息包,主要包括读内存、写内存、读所有寄存器、读单个寄存器,写所有寄存器、写单个寄存器、设置断点、删除断点、运行、单步等。

GDB标准远程通信协议

所有GDB命令和响应以包的形式发送。包以起始字符 $、实际数据包数据、终止字符#和两位校验和组成,其格式如下:

- $packet-data#checksum- +

当主机或目标机器接收到数据包时,第一个响应是一个确认包:“+”(表示已正确接收到包)或者“-”(请求重传)。

调试代理至少需要支持以下命令,所有其他命令都是可选的,具体命令格式及其详细描述可参考GDB手册的《Appendix E gdb Remote Serial Protocol 》章节:

? 目标机暂停原因g 读取所有通用寄存器m(m addr,length) 内存访问命令Z(Z type,addr,kind) 插入断点命令,其中Z0,addr,kind 表示插入软件断点z(z type,addr,kind) 删除断点命令,其中z0,addr,kind表示删除软件断点c 运行控制s 单步命令,如果目标体系结构支持硬件辅助单步执行则实现该命令 vCont 支持多线程调试应该支持“vCont”命令ARCH32调试寄存器上下文

GDB源码的gdb\features\arm路径有相关调试寄存器上下描述文信息。主要包括核心寄存器arm-core.xml和浮点寄存器arm-vfpv3.xml。注意:其中cpsr寄存器号不是16而是25,因为历史原因16-24为fpa浮点相关寄存器。

软件断点

ARM的调试断点指令为BKPT(指令码:E1200070),其产生的调试异常为(Prefetch Abort)。软件点读调试相关章节《G2.8.1 About Breakpoint Instruction exceptions》。观察点的调试异常为(Data Abort)。

硬件断点

Armv8-A架构提供2-16个硬件断点,DBGDIDR. BRPs展示硬件实现的硬件断点数量。DBGDIDR(G8.3.11 DBGDIDR, Debug ID Register)寄存器指定要实现的调试体系结构以及调试功能。

WRPs:观察点数量,值0为保留。如果为0b0001则表示有2个观察点,0b1111表示有16个个观察点,其提供2-16个观察点。

BRPs:硬件断点,,值0为保留。如果为0b0001则表示有2个观察点,0b1111表示有16个个观察点,其提供2-16个硬件断点。

要使用已实现的硬件断点,调试器将为断点编程以下寄存器:

断点控制寄存器DBGBCRn。它包含断点的控制,例如使能硬件断点。 断点值寄存器DBGBVRn。它保存一个用于断点匹配的值,指令虚拟地址。

硬件断点控制寄存器DBGBCRn,控制硬件断点的使能。

观察点

硬件实现可以包括2-16个观察点。DBGDIDR.WRPs展示硬件实现的观察点数量。要使用已实现的观察点,调试器需要观察点编程以下寄存器:

观察点控制寄存器DBGWCRn。它保存了观察点的控制信息,如启用观察点。观察点值寄存器DBGWVRn。它保存用于监视点的数据虚拟地址匹配。

观察点控制寄存器DBGWCRn,控制观察点的使能。

ARCH32 GDB编译

armv7不支持单步位,需要GDB通过断点预测的方式模拟单步。编译GDB7.2时需要指定—target=arm-linux。指定其他目标可能导致GDB发送单步命令,而不是通过断点预测方式。

本文来自清风入怀投稿,不代表美啦学习笔记立场,如若转载,请注明出处:https://www.meila8.com/5/27957.html

打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
() 0
上一篇 02-03
下一篇 02-03

相关推荐

  • addr是什么软件 addr是什么程序

    addr是什么软件
    addr是PPS在线观看电视直播的一个插件,只要是用过PPS软件的,电脑上就会出现这个插件,addr是改进后的POP3模块插件。想要卸载addr的安装插件,可以打开软件管理应用程序,在卸载页面找到addr插件,点击一键卸载即可。addr是一个插件电脑上的addr是PPS在线看电

    2023-02-03 12:58:01
    1057 0

评论列表

联系我们

123456

在线咨询: QQ交谈

邮件:admin@qq.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信