blazeds通道端点配置
- 格式:docx
- 大小:19.55 KB
- 文档页数:5
AB PLC 通信协议规则说明(编制时间:2010-08-01 )编制:审核:批准:1、编写目的本文档用于说明K VIEW3.0 中AB PLC驱动程序和罗克韦尔公司的ControlLogix 系列PLC之间通信的通信协议。
该通信是基于EtherNet/IP 协议实现的,其通信流程如下:注册请求注册应答打开请求打开应答数据服务请求驱动程序数据服务应答⋯⋯AB PLC⋯⋯数据服务请求数据服务应答关闭请求关闭应答卸载注册请求2、数据驱动端用到的数据帧①注册请求帧字段字节数说明命令(0x0065) 2 注册请求长度(0x0004) 2会话句柄(0x00000000) 4 初始值为0x00000000状态(0x00000000) 4 初始值为0x00000000(状态好)发送方描述8 请求通信一方的说明选项 4 默认为0x00000000以下是命令指定数据(Command Specific Data)协议版本(0x0001) 2 默认为0x0001选项标记(0x0000) 2 默认为0x0000②打开请求帧字段字节数说明命令(0x006F) 2 打开请求长度(0x0040) 2 固定为64 字节(0x0040)会话句柄 4 注册应答中返回的数值状态(0x00000000) 4 初始值为0x00000000(状态好)发送方描述8 请求通信一方的说明选项 4 默认为0x00000000以下是命令指定数据(Command Specific Data)接口句柄(0x00000000) 4 默认为0x00000000(CIP)超时(0x0001) 2 默认为0x0001项数(0x0002) 2 默认为0x0002空地址项(0x0000) 2 默认为0x0000长度(0x0000) 2 默认为0x0000未连接数据项(0x00b2) 2 默认为(0x00b2)长度(0x0030) 2 后面数据包的长度(48 个字节)以下是CIP协议的内容服务 1 固定为0x54请求路径大小 1 固定为0x02请求路径 4 固定为0x01240620(有可能会改变) Priority/time_tick 1 固定为0x0ATime-out_ticks 1 固定为0x05O-T NetWork Connection ID 4 0x00000000T-O NetWork Connection ID 4 由驱动产生Connection Serial Number 2 0x0000Verder ID 2 0x0101Originator Serial Number 4 和T-O NetWork Connection ID 相同连接超时倍数 1 0x01保留数据 3 0x000000O-T RPI 4 0x004C4B40O-T 网络连接参数 2 0x43F8T-O RPI 4 0x004C4B40T-O 网络连接参数 2 0x43F8传输类型 1 0xA3连接路径大小 1 0x03连接路径 6 0x01 24 02 20 00 01③读数据服务请求帧字段字节数说明命令(0x0070) 2 打开请求,固定为0x 00 70长度 2 命令指定数据的大小会话句柄 4 注册应答中返回的数值为0x00000000(状态好)状态(0x00000000) 4 初始值发送方描述8请求通信一方的说明项 4 默认为0x00000000选以下是命令指定数据(Command Specific Data)接口句柄(0x00000000) 4 默认为0x00000000(CIP)超时(0x0001) 2 默认为0x0001项数(0x0002) 2 默认为0x0002连接的地址项 2 默认为0x00 A1长度 2 默认为0x00 04连接标识 4 和打开应答中的O-T NetWork Connection ID 相同连接的数据项 2 默认为(0x00b1)长度 2 后面数据包的长度序号 2 数据服务请求帧的序号(从 1 开始)以下是CIP协议的内容服务 1 固定为0x0A请求路径大小 1 固定为0x02)请求路径 4 固定为0x01240220(有可能会改变服务数(即测点数) 2 请求数据点的个数偏移量(和服务数相同)2* (服务数)从服务数第一个字节算起,每个服务的偏移量服务1(即测点1)识 1 固定为0x4C服务标请求路径大小 1 目前总结的公式是size = (len +1)/2 +1;其中size为请求路径大小,len 为请求侧点名的长度扩展符号 1 固定为0x91数据大小 1 该服务所对应的PLC中的侧点名大小对应的PLC中的侧点名数据内容该服务所数时不填充目前,发现的规律是侧点名的长度是奇数时,有一个填充字节,偶行传输进分另外,当侧点名中有“.”时,需以点为分割线分为两部服务命令指定数据 2 固定为0x00 01服务2(即测点2)⋯⋯.④写数据服务请求帧字段字节数说明命令(0x0070) 2 打开请求,固定为0x 00 70长度 2 命令指定数据的大小会话句柄 4 注册应答中返回的数值状态(0x00000000) 4 初始值为0x00000000(状态好)发送方描述8 请求通信一方的说明选项 4 默认为0x00000000以下是命令指定数据(Command Specific Data)接口句柄(0x00000000) 4 默认为0x00000000(CIP)超时(0x0001) 2 默认为0x0001项数(0x0002) 2 默认为0x0002连接的地址项 2 默认为0x00 A1长度 2 默认为0x00 04连接标识 4 和打开应答中的O-T NetWork Connection ID 相同连接的数据项 2 默认为(0x00b1)长度 2 后面数据包的长度序号 2 数据服务请求帧的序号(从 1 开始)以下是CIP协议的内容服务标识 1 固定为0x4D请求路径大小 1 目前总结的公式是size = (len +1)/2 +1;其中size为请求路径大小,len 为请求侧点名的长度扩展符号 1 固定为0x91数据大小 1 该服务所对应的PLC中的侧点名大小数据内容该服务所对应的PLC中的侧点名目前,发现的规律是侧点名的长度是奇数时,有一个填充字节,偶数时不填充数据类型 2 目前已知0x00C3(195) 为整型,0x00CA(202)为实型,0x00C1(193)为布尔型,long 型为0x00C4,BYTE为0x00C2 服务命令指定数据 2 固定为0x00 01数据内容长度由类型决定,BYTE和BOOL一个字节,整型两个字节,float 和long 四个字节⑤关闭请求帧字段字节数说明命令(0x006F) 2 关闭请求长度(0x0028) 2 固定为40 字节(0x0028)会话句柄 4 注册应答中返回的数值状态(0x00000000) 4 初始值为0x00000000(状态好)发送方描述8 请求关闭一方的说明选项 4 默认为0x00000000以下是命令指定数据(Command Specific Data)接口句柄(0x00000000) 4 默认为0x00000000(CIP)超时(0x0001) 2 默认为0x0001项数(0x0002) 2 默认为0x0002空地址项(0x0000) 2 默认为0x0000长度(0x0000) 2 默认为0x0000未连接数据项(0x00b2) 2 默认为(0x00b2)长度(0x0018) 2 后面数据包的长度(24 个字节)以下是CIP协议的内容服务 1 固定为0x4E请求路径大小 1 固定为0x02请求路径 4 固定为0x01240620(有可能会改变) Priority/time_tick 1 固定为0x0ATime-out_ticks 1 固定为0x05Connection Serial Number 2 0x0000Verder ID 2 0x0101Originator Serial Number 4 和打开请求帧中的T-O NetWork Connection ID 相同连接路径大小 1 0x03保留数据 1 0x00连接路径 6 0x01 24 02 20 00 01⑥卸载注册请求帧字段字节数说明命令(0x0066) 2 卸载注册请求长度(0x0004) 2会话句柄(0x00000000) 4 初始值为0x00000000状态(0x00000000) 4 初始值为0x00000000(状态好)发送方描述8 请求通信一方的说明选项 4 默认为0x00000000以下是命令指定数据(Command Specific Data)协议版本(0x0001) 2 默认为0x0001选项标记(0x0000) 2 默认为0x00003、AB PLC端返回的数据帧①注册应答帧字段字节数说明命令(0x0065) 2 注册请求长度(0x0004) 2会话句柄 4 由AB PLC生成状态(0x00000000) 4 初始值为0x00000000(状态好)发送方描述8 请求通信一方的说明选项 4 默认为0x00000000以下是命令指定数据(Command Specific Data)协议版本(0x0001) 2 默认为0x0001选项标记(0x0000) 2 默认为0x0000②打开应答帧字段字节数说明命令(0x006F) 2 打开请求长度(0x002E) 2 正常情况为46 字节(0x002E)会话句柄 4 注册应答中返回的数值状态(0x00000000) 4 初始值为0x00000000(状态好)发送方描述8 请求通信一方的说明选项 4 默认为0x00000000以下是命令指定数据(Command Specific Data)接口句柄(0x00000000) 4 默认为0x00000000(CIP)超时(0x0001) 2 默认为0x0001项数(0x0002) 2 默认为0x0002空地址项(0x0000) 2 默认为0x0000长度(0x0000) 2 默认为0x0000未连接数据项(0x00b2) 2 默认为(0x00b2)长度(0x001E) 2 后面数据包的长度(30 个字节)以下是CIP协议的内容服务 1 固定为0xD4保留数据 1 固定为0x00状态 2 状态好为0x0000O-T NetWork Connection ID 4 由PLC产生T-O NetWork Connection ID 4 和打开请求帧中的相同Connection Serial Number 2 0x0000Verder ID 2 0x0101Originator Serial Number 4 和T-O NetWork Connection ID 相同O-T API 4 0x00 4C 4B 40T-O RPI 4 0x00 4C 4B 40保留数据 2 0x00 00③读数据服务应答帧字段字节数说明命令(0x0070) 2 打开请求,固定为0x 00 70 2命令指定数据的大小长度会话句柄 4 注册应答中返回的数值为0x00000000(状态好)状态(0x00000000) 4 初始值发送方描述8固定为0x00 00 00 00 00 00 00 00项 4 默认为0x00000000选以下是命令指定数据(Command Specific Data)接口句柄(0x00000000) 4 默认为0x00000000(CIP)超时(0x0000) 2 默认为0x0000项数(0x0002) 2 默认为0x0002连接的地址项 2 默认为0x00 A1长度2默认为0x00 04识 4 和打开应答中的连接标T-O NetWork Connection ID 相同连接的数据项 2 默认为(0x00b1)长度2后面数据包的长度序号 2 和数据服务请求帧中的序号相同以下是CIP协议的内容服务 1 固定为0x8A填充字节 1 固定为0x00状态 2 状态好时为0x00 00服务数(即测点数) 2 应答数据点的个数偏移量(和服务数相同)2* (服务数)从服务数第一个字节算起,每个服务的偏移量应答服务1(即测点1)服务标识 1 固定为0xCC填充字节 1 固定为0x00状态 2 状态好时为0x00 00数据类型 2 目前已知0x00C3(195) 为整型,0x00CA(202)为实型,0x00C1(193)为布尔型,long 型为0x00C4,BYTE为0x00C2 数据应答服务2(即测点2)⋯⋯.④写数据服务应答帧字段字节数说明命令(0x0070) 2 打开请求,固定为0x 00 70长度 2 命令指定数据的大小会话句柄 4 注册应答中返回的数值状态(0x00000000) 4 初始值为0x00000000(状态好)发送方描述8 固定为0x00 00 00 00 00 00 00 00 选项 4 默认为0x00000000以下是命令指定数据(Command Specific Data)接口句柄(0x00000000) 4 默认为0x00000000(CIP)超时(0x0000) 2 默认为0x0000项数(0x0002) 2 默认为0x0002连接的地址项 2 默认为0x00 A1长度 2 默认为0x00 04连接标识 4 和打开应答中的T-O NetWork Connection ID 相同连接的数据项 2 默认为(0x00b1)长度 2 后面数据包的长度序号 2 和数据服务请求帧中的序号相同以下是CIP协议的内容服务标识 1 固定为0xCD填充字节 1 固定为0x00状态 2 状态好时为0x00 00⑤关闭应答帧字段字节数说明命令(0x006F) 2 关闭应答长度(0x001E) 2 正常情况为30 字节(0x001E)会话句柄 4 注册应答中返回的数值状态(0x00000000) 4 初始值为0x00000000(状态好)发送方描述8 请求通信一方的说明选项 4 默认为0x00000000以下是命令指定数据(Command Specific Data)接口句柄(0x00000000) 4 默认为0x00000000(CIP)超时(0x0001) 2 默认为0x0001项数(0x0002) 2 默认为0x0002空地址项(0x0000) 2 默认为0x0000长度(0x0000) 2 默认为0x0000未连接数据项(0x00b2) 2 默认为(0x00b2)长度(0x000E) 2 后面数据包的长度(14 个字节)以下是CIP协议的内容服务 1 固定为0xCE保留数据 1 固定为0x00状态 2 状态好为0x0000Connection Serial Number 2 0x0000Verder ID 2 0x0101Originator Serial Number 4 和T-O NetWork Connection ID 相同保留数据 2 0x00 004、AB PLC端返回的出错报文出错报文:6f 00 00 00 00 01 02 12(03 00 00 00状态)24 53 59 2d 4c 47 58 00 00 00 00 00状态非零时表示出错!。
Flex原理1.事件的原理分为三个阶段:捕获、目标、冒泡事件的起源是跟结点stage 直到发生事件的对象,之后又向相反的方向回到stageStage->obj :捕获阶段寻找obj的过程:目标阶段Obj->stage:冒泡阶段节点:stage->application-> 容器(panel等)->obj;2. data 绑定原理[Bindable(event="propertyChange")]。
(默认的绑定)Flex组件默认监听了propertyChange 事件;3. flex通信原理:3.1过程:通道-》端点-》消息-》服务-》目的地-》适配器3.2 通信的组件:. RemoteObject –远程调用• HTTPService –http代理• WebService –http代理• Producer –消息• Consumer –消息3.3 原理BlazeDS :是一个基于服务器的Java远程调用(remoting)和Web消息传递(messaging)技术图解:3.1端点(Endpoint) (在MessageBrokerServlet中实现)。
endpoint,其默认形式是/messagebroker/amf通道类型:amf Channel(速度快)、httpChannel(二进制无压缩的)等消息通过channel传到endPoint ,Channel 和endpoint的编码格式必须一致比如都用amf的3.2. messgeBroker(消息代理人)messgeBroker 将消息根据(destination)服务请求的种类,传给不同的服务,服务再传到对应的服务的destination3.3.Service and destination 类别remoteService->remoteServiceDestination(RomoteObject 对象)->remote-config.xmlhttpproxyService->httpproxyserviceDestination(httpService\webService 对象)->proxy-config.xmlmessageservice->messageDestination(producer\consumer 对象)->message-config.xmldestination:目标其实是一个请求的目标:对于常用的远程方法调用来说,其目标(destination)就是某个特定的java服务,或者某个特定的配置好的Java类对于代理目标来说,则是定义好的代理种类,比如说普通HTTP代理还是基于WebService的代理对于消息目标来说,则是某个特定的消息服务种类3.4.AdapterRemote->javaadapterProxy->httproxyAdaper\soapadaperMessage->jms or as(客户端交换信息)4. flex 配置Flex socket 通信1.DataGrid1.dataGrid 数据的处理itemClick 事件:event:ListEvent;(var grid:DataGrid= event.target as DataGrid)所点击列的表头:grid.columns[event.columnIndex].headerText;列索引:event.columnIndex;行索引:event.rowIndex;选中的行数据:grid.selectedItem选中的单元格数据:grid.selectedItem[grid.columns[e.columnIndex].dataFiled]2. DataGrid 数据的移动方法:grid.removeItemAt;grid.addItemAt;3. Mxml中引入xml文件(利用HTTPService)可以作为dataGrid的数据源实例:<mx:HTTPService id="simpletest"url="assets\photoFood.xml"result="photoColl=stResult.list.food"/>注意:private var photoColl:arrayCollection;或者用监听方式取回结果:Private function onResult(event:ResultEvent):void{This. photocell=event.result.list.food ;}photoFood.xml:<list><food><food_name>Artichoke Dip</food_name><photo>artichokeDip.jpg</photo></food><food><food_name>Bread Pudding</food_name><photo>breadPudding.jpg</photo></food><food><food_name>Cheesecake</food_name><photo>cheesecake.jpg</photo></food></list>4.dataGrid 的itemReader 可以是自定义的任何组件;rendererIsEditor="true" :渲染的组件可以编辑,并且编辑后的值可以返回到datagrideditorDataField="value"(默认为“text”):渲染器要编辑的属性5.ArrayCollection的过滤器:实例:利用combobox控制数据的显示private function myFilter():void{if(this.myCom.selectedItem.toString()=="ALL"){this.reviewList.filterFunction=null;}else{this.reviewList.filterFunction=myFunc;}//refresh() 必须添加的方法this.reviewList.refresh();}//过滤器的筛选规则返回值为boolean,参数为容器的一个对象private function myFunc(item:Object):Boolean{return(item.rating.toString()==this.myCom.selectedItem.toString());}<mx:ComboBox dataProvider="{}" change="myFilter()" id="myCom"/>Private var com:ArrayCollection=new ArrayCollection(["1","2","3","4","5","ALL"]);DataGrid颜色专题总结:1。
建立一个ISE的工程,工程的顶层文件为schematic的。
然后根据实际需要添加自己的逻辑或处理部分。
Microblaze可以像一个IP一样同时应用到自己的设计中去。
具体方法如下:1、在工程中选择Add Source,在选择框中选择Embedded Processor,假设为该处理器起名为Microblaze_xxx。
2、此时ISE会自动启动XPS,在XPS中根据导向设置自己的Microblaze_xxx处理器的参数,并生成网表(注意必须在EDK中生成)。
3、选中Microblaze_xxx,双击View HDL Instantiation Template 生成例化文件。
如果要使得Microblaze的管脚既可以和FPGA的外部通用IO连又能和内部的用户逻辑连接,则要将例化文件中关于对Microblaze管脚加BUF类的语句删除。
4、由例化文件生成一个schematic symbol。
5、这个schematic symbol即为Microblaze处理器核。
用户可以像使用其他普通核一样使用它。
6、下面是生成mcs烧写文件。
具体步骤如下:7、/*将整个顶层的schematic生成schematic symbol并产生位流文件(.bit),然后将该位流文件改名为download.bit(因为后面用到的XPS中的批处理文件dow nload.cmd文件里的链接文件名为download.bit,当然也可以改把这个名字改成与前面一样。
两个名字改其中之一就行了)8、将download.bit文件拷入工程所在文件夹下Microblaze_xxx文件夹下的impl ementation文件夹。
*/9、在XPS中编写软件。
10、如果想要microblaze自举加载,则要在处理器设置的PARAMETERS中的C _NUMBER_OF_PC_BRK的参数改为1。
12、将edkBmmFile.bmm文件中的每一行第一个/ 删除,并将文件属性改成只读,改名microblaze1_stub.bmm文件为microblaze1_bd.bmm文件12、将Microblaze_xxx_bd.bmm文件里加上PLACED语句指定对应使用哪个Bl ock RAM。
BlazeDS入门教程什么是BlazeDS呢?BlazeDS是一个基于服务器的Java远程调用(remoting)和Web消息传递(messaging)技术,它能够使得后台的Java应用程序和运行在浏览器上的Flex应用程序相互通信。
在各大搜索引擎里,关于BlazeDS的中文教程来来去去都是那几篇,而且都是使用Eclipse来开发Flex的(用Eclipse开发Flex 跟Java很不错的)。
这篇文章将会尝试着使用Flex Builder 3,用一个经典的“HelloWorld”例子来让你学会BlazeDS的使用方法。
在开始之前,你需要安装JDK和Tomcat并实现成功配置,详细请看:Tomcat 6.0 配置。
一、我电脑上的配置是如下四点,如果你电脑上的配置不同于以下四点,可能需要你对你的电脑进行修改一下:1、Window XP;2、Tomcat 6.0,安装在“C:\Program Files\Apache Software Foundation\Tomcat 6.0\”,下文会使用“[tomcat-home]”来代替这长长的目录路径;3、Tomcat服务器使用端口8080;4、使用Flex Builder 3而非Eclipse。
二、如果你对以下操作比较陌生,那你应该先熟悉一下以下操作:1、写一个Java文件并编译它;2、使用Flex Builder 3;3、停止和开户Tomcat服务器。
三、下载BlazeDS:1、网址:/wiki/display/blazeds/Release+Builds ;2、下载那个“BlazeDS binary distribution”(/pub/opensource/blazeds/blazeds_bin_3-0-0-544.zip);i. 把那个 .zip 文件保存到你的电脑上ii. 里面有两个文件:blazeds.war 和blazeds-bin-readme.htmliii. 把里面的blazeds.war 文件解压到这个目录下:[tomcat-home]\webapps3、如果Tomcat正在运行,请停止它然后再启动它(就是重启Tomcat);4、打开这个目录:[tomcat-home]\webappsi. 你应该会看到一个名为“blaseds”的文件夹ii. 在blaseds文件夹里,会有一个名为“WEB-INF”的文件夹iii. 在WEB-INF文件夹里会有很多文件夹,其中有一个名为“classes”的文件夹。
创建Flex与Java通信项目之Blazeds篇一、环境:1、blazeds_turnkey(内含tomcat)2、Flex Build3(Flex的eclipse插件)3、Eclipse二、搭建1、建立一个Web Project注意:创建项目完之后,将其部署到Tomcat中,为配置Flex类型做准备2、导入Blazeds导入方法有两种:一种是,打开下载到的blazeds_turnkey,找到blazeds.war压缩包,copy里面的WEB-INF 文件到web项目WebRoot目录下,覆盖原先的WEB-INF目录;另一种,软件导入。
(1)右击项目”WebRoot”目录,选择”Import”->”File system”(2)在From directory选项中选择blazeds.war解压缩的路径(3)选中“blazeds”,点击”finish”(4)出现Question提示,点击”Yes to All”3、添加Flex项目类型1、创建Flex_src目录,用于,专门存放flex的源代码文。
(为后面修改Flex配置做准备)如下图:2、添加Flex项目类型(1)右击FlexBlazedsDemo项目,选择“Flex Projext Nature”->”Add Flex Project Nature”(2)点击点击”Next”(3)配置属性:Root folder:指的是项目发布的目录location(选择刚部署到Tomcat中的FlexBlazedsDemo)Root URL:指定是项目的发布的根URL地址(访问路径)Context root:指定是项目名Output folder:Flex编译后HTML文件存放位置然后点击Valdate Configuration按钮,没有任何错误提示点击Finish即完成项目创建,此flex项目中注意:如果Tomcat是启动状态,点击Valdate Configuration会出现:“The web root folder and root URl are valid”。
基于Flex 和BlazeDS 推技术实现WEB 方式实时监控系统吕海东1,陆永林2(1.大连理工大学城市学院,辽宁 大连 116600;2.大连英科时代科技发展有限公司,辽宁 大连 116001)摘 要:监控系统逐步向B/S 框架结构[1]转变,但由于HTTP 协议固有的缺陷,使WEB 模式在工业监控实时领域应用一直不尽人意,AJAX 技术出现虽然解决了异步通讯和页面刷新问题[2],但其依然使用HTTP 请求拉方式(Pull )并没有真正解决实时问题。
Flex 技术和BlazeDS [3]技术的出现,结合消息服务技术实现的推技术(Push),解决了实时难题,彻底实现了Web 实时监控工作模式。
关键词:Web 监控系统;Flex;BlazeDS中图分类号:TP277 文献标识码:B 文章编号:1003-7241(2010)01-0034-04Realization of Real-Time Web Monitoring System on Flex andBlazeDS with Push ModelLV Hai-dong 1, LU Yong-lin 2( 1. City Institute Dalian University of Technology, Dalian Linktimes Co.Ltd, Dalian 116600 China;2. Dalian Linktimes Co.Ltd, Dalian 116001 China )Abstract: Automatic control and monitoring system are migrating from C/S to B/S framework at current time, while it is notsatisfaction that Web is used in auto-controlling system with the limitation in the HTTP. Although AJAX solve the problem of asynchronization accessing and web page refreshing, but the pull model of HTTP request is still used in communication with server data, the real-time issue is still not realized. With the invention of Flex and BlazeDS framework and combination of Java Message Service, the PUSH data technology is used to solve all the issues of real-time data exchanging, the true real-time web based Monitoring System is realized.Key words: Web based monitoring system; Flex; BlazeDS收稿日期:2009-07-131 引言当今工业监控系统已经逐步从C/S 结构向B/S 方向发展,尤其是AJAX 技术的出现,解决以往传统WEB 无法进行异步请求方式和监控画面的实时刷新问题,使得Web 模式监控系统得到长足的发展。
Xilinx Microblaze 使用方法1、首先在ISE中新建一个工程,2、然后添加文件,如下图选择并输入相应的文件名。
3、添加文件之后会自动打开XPS,出现如下对话框,选择YES。
4、如下图可以选择AXI4总线或者PLB总线,在此选择AXI4总线。
5、继续下一步如图选择时钟频率和复位的电平,然后点击下一步。
6、如下图点击可以添加需要的外设,包括GPIO、SPI、DDR控制器等。
7、选择需要添加的外设,选择好之后点击Apply即可。
然后选择完成。
8、在IP Catalog中可以继续添加需要的IP核。
9、添加完成之后会发现IP核已经自动的连接到了总线上。
10、在此可以继续对IP核进行相关配置。
11、配置界面如下。
12、如下图可以将需要的端口引出到片外。
13、当添加IP核完成之后,如下图打开时钟配置界面,对时钟进行配置。
14、时钟配置界面如下。
15、配置完成之后如下图点击,生成网表,如有错误则修改错误之后重新生成网表。
16、生成网表完成之后打开ISE,在顶层模块中对其进行实例化。
并生成BIT文件。
17、回到XPS中如下图点击,将硬件平台导入到SDK中。
18、选择导出到SDK并打开SDK.19、执行完上一步之后会弹出如下对话框,如图选择路径。
20、打开SDK之后会看到只有一个硬件平台。
我们需要再新建一个板级支持包和一个C工程。
21、如图新建板级支持包。
22、如图新建C工程。
23、如图输入工程名称并选择板级支持包。
24、写好相应的代码。
25、当代码写好之后,将BIT文件下载到FPGA中就可以进行调试了。
Flex、java交互配置说明(java工程与flex工程独立):本文档开发环境:myeclipse9.0、FlashBuilder4.6、tomcat7.0、blazeds4.0一、找到flex安装目录eclipse下的features和plugins文件夹,分别将其下的档copy至MyEclipse的安装目录Common下的features和plugins文件夹(复制过程中会有重复的文件夹,全部选择替换即可),Flex目录:Myeclipse目录:二、创建服务器端1、为myeclipse添加blazeds jar包找到blazeds.war档并解压至一文件夹(为方便这里文件夹名称用blazeds),会出现在myeclipse中创建一web项目bla_javaProject,在package explorer视图中,右击WebRoot文件夹→import→General→File System,from directory选择blazeds.war解压的文件夹blazeds,打钩,点击确定,当提示档已存在时选择Yesto all。
此时打开WebRoot→flex目录2、配置tomcat服务器:Window→Preferences→MyEclipse→Servers→Tomcat→Tomcat7.x,选择Enable,Tomcat home directory选择tomcat所在路径将myeclipse项目bla_javaProject部署到tomcat,然后启动tomcat服务。
服务器端配置大功告成。
三、felx客户端新建一flex项目flex_client_project,点击下一步,参数设置如下输出文件夹应为myeclipse中项目的webroot目录。
附:测试程序服务器端java:remoting-config文件:新增如下配置:客户端flex代码:remoting-config文件中的destination的id值与flex页面中的destination值一致。
BlazeDS使用手册简介1 BlazeDS简介BlazeDS是由Adobe公司免费发布,基于Java远程对象和Web消息服务,面向Adobe Flex客户端和AIR (Adobe Integrated Runtime) RIA (Rich Internet Application)进行数据处理和发布的服务器端技术。
当通过使用RPC (Remote Procedure Call)服务或者Messaging服务时,BlazeDS通过封装的channel和endpoint端点通信模式,可以轻松获得调用远程服务的结果,并将结果返回到客户端控件中,这些客户端控件包括HttpService、WebService、RemoteObject和Messaging Service。
BlazeDS可以在Adobe官方网站进行下载,网站同时提供了BlazeDS源码,网址为:/wiki/display/blazeds/Downloads,我们所使用的版本为blazeds-turnkey-4.0.0.14931版本。
技术优势2 BlazeDS技术优势BlazeDS是由Adobe公司于2009年发布的消息服务框架,是开源免费产品。
它建立了Flex和Java远程对象之间的桥连,是专门应对于远程调用和消息传递的开源技术。
BlazeDS在Java应用服务器上以servlet的形式存在, 因此可以在任何标准Java网络应用中运用它,并轻松建立RIA应用。
总结起来,BladeDS 的技术优势主要表现在以下方面:轻松调用远程Java对象BlazeDS基于Java技术,本身作为J2EE的应用,支持Flex和Java间的对象映射,通过在Remoting-config配置文件里定义endpoint端点通道,Flex客户端就可以调用任何一个Java对象,从而可以访问服务器端的对象方法。
消息传递性能高Adobe发布BlazeDS的同时,公布了AMF(ActionScript Message Format)规格说明,目前使用的远程过程调用(RPC)都默认选择AMF二进制协议。
1、创建工程(1)开始菜单—>Xilinx ISE Design Suite 13.2—>ISE Design Tools—>Project Navigator,打开如下图所示:(2)新建工程New Project…,进入New Project Wizard,选择工程路径,输入工程名称,点击next。
(3)根据项目需要,选择相应的device及封装、速度等级等,点击next。
(4)显示新建工程信息,点击Finish,完成工程创建。
2、配置Microblaze软核(1)右键器件,这里是xc4vsx55-10ff1148,选择New Source,进入添加向导。
(2)选择Embedded Processor,输入文件名称和路径,点击next。
接着点击Finish 完成添加,系统会提示如下图所示,点击yes进入BSB Wizard。
(3)选择Create a new design,点击next。
(4)因为是自行设计的PCB板,所以选择create a system for a custom board,点击next。
(5)选择Single-Processor System,点击next。
(6)根据实际情况,选择参考时钟(PCB板上系统时钟频率)、工作频率(一般建议系统时钟不超过150MHz,这里选择100MHz),Local Memory选择64KB,点击next。
(7)添加外设。
这里可直接next,稍后在图形界面里可以进行添加配置。
(8)一直点击next,直到Finish,完成Microblaze软核的创建,如下图所示。
3、在Microblaze软核里添加外设(1)在上述界面即可添加外设。
这里以GPIO为例。
双击选择XPS General Purpose IO确定添加后,进入GPIO配置页面。
这里不添加中断,并选择位宽为8位。
设置完成后点击OK。
(2)添加后在如下图所示界面里,将GPIO挂到mb_plb总线上。
PicoBlaze处理器IP Core的原理与应用PicoBlaze处理器IP Core由全局寄存器、计算规律单元(ALU)、程序流控制标记和复位规律、输入/输出(I/O)、中断控制器等几大部分构成。
全局寄存器:16个8位全局寄存器,s0~sf。
寄存器的操作是十分灵便的;没有为特别任务保留寄存器,任何寄存器的优先权都是一样的。
算术规律单元(ALU):提供了8位处理器需要的全部容易操作。
执行全部的操作都是用随意一个寄存器提供的操作数完成。
若操作需两个操作数,则有另一寄存器指定或在命令中嵌入一8位常量值。
在不增强程序大小的前提下,指不定期随意常量值,增加了容易的命令特性。
更明了地说,ADD1与 INCREMENT命令是等价的。
若操作超过8位,则有一选项(增强或削减)可供挑选。
二进制操作码(LOAD、AND、OR、XOR)可操作和测试二进制数,还包括SHIFT和ROTATE命令集合。
程序流控制标记:ALU操作后的结果影响ZERO和CARRY两个标志。
用有条件的或无条件的程序流控制命令打算程序执行的挨次。
JUMP命令指定在程序空间内的肯定地址。
CALL命令将程序定位到用一段代码写的子程序的肯定地址,同时将返回地址压栈。
嵌套CALL命令用法的栈为15层,对于程序大小足够了。
复位规律:复位信号强迫程序回到初始状态,即程序从地址00开头执行,中断被屏蔽,状态标志和堆栈也同时复位,但寄存器中内容不受影响。
输入/输出(I /O):PicoBlaze提供256个输入端口和256个输出端口。
由端口提供一个8位地址值与一个READ或WRITE选通脉冲信号,一起指定拜访端口。
这个端口地址值或为一确定值或由随意一寄存器中内容指定。
当拜访一由分布式或块状RAM组成的内存时,最好用挺直寻址。
当举行输入操作时,输入端口上的值被输出一个READ_STROBE 输出脉冲时,即表示举行了一次输入操作。
中断控制器:PicoBlaze提供一中断输入信号。
blaze引擎介绍blaze商业引擎制作者: cosmic-life 是用directx9.0 作为底层引擎,1. 内建状态管理器,state_manager2. 渲染管理器,包含了对directx的一层渲染封装(i_draw_manager)3. 字符集渲染接口(i_dev_text)4. 对directx的一层封装(i_device)清楚显示缓冲,设置鼠标显示与否,切换和初始化状态,创建设备,开启抗锯齿功能,bitblt对两个surface进行拷贝,另提供界面管理器,贴图管理器,着色管理器,物体管理器,billboard 管理器,渲染管理,雾管理器,阳光效果, 镜头管理,镜子系统,影子管理,动作管理,地形管理等引擎所需要的所有管理器5.支持媒体播放功能和脚本系统还有6.支持网络系统,提供基于iocp的网络服务器接口7.脚本系统: 支持lua 脚本,支持动态添加函数,对添加脚本内的函数进行了一层封装,使添加一个函数变得非常容易,8.可以动态调整亮度,对比度,饱和度和色调,可以只对单个模型设置也可以用于screen9.支持射线模糊效果,可以只对单个模型设置也可以用于screen角色方面:1.支持从3dsmax导出模型,可支持Physique和Skin皮肤系统的导出,模型动画的导出,顶点动画的导出(可以用来制作复杂的特效系统)2.支持动态创建lod技术,3.支持角色换装系统4.支持角色动作柔和变换(从一个动作变换到另一个动作时变成自然过渡)5.支持从x文件加载数据和从自定义导出文件mdx文件中加载数据粒子系统:1.拥有粒子编辑器,拥有一个粒子发射器,粒子工厂和粒子管理器,保证了每个粒子最多可以发射的数量和整个系统中最多的粒子个数,2.有效的提高粒子的渲染速度,能组合成各种各样的变化,可以从物体的面和点中根据发现进行喷射,可以紧密的和3dsmax中导出的复杂特效进行连接媒体方面:1.支持3D声效必须用.wav, 也可以支持3D的.mp3播放(一般一次只播放一个,考虑效率问题),2.支持.mp3和其他系统支持的音乐格式的播放,用来做背景音乐3.支持播放 .avi, .rm, .wmv等格式的文件用来做开头动画4.可以将一个avi或.rm, .wmv ... 文件邦定到一个模型上进行播放,5.在模型中播放avi文件(avi_writer),并且可以支持3D声效,可以在场景中放一个播放中的电视效果,三维表现得立体电视数据封装:1.支持文件缓冲file map,将所有数据写入缓冲区并加密保存成一个map文件,当客户端运行的时候会从缓冲区的文件列表读取数据,并解密,读取速度完全可以保证2.支持表格的读取 c_table ,策划在excel中整合完数据用此表格读入并在客户端逻辑中运用3.支持xml文件的读取写入 ,通常用来编写配置文件管理器:贴图管理器,避免了重复载入贴图的过程而导致的内存浪费的情况发生界面管理器,简单的dx界面的封装着色管理器,有效的避免了重新载入着色器导致的内存浪费物体管理器,billboard管理器,渲染管理,雾管理器,阳光效果,镜头管理,镜子系统,影子管理,动作管理,地形管理地形方面:采用了高度图技术,采用四叉树来管理,地形可以任意大(N),可以无缝连接(N),支持bsp组织的室内室外系统等的计算(N) 可以从一张地图中读取各种草的分布信息,并甘入到地形里面,可以对地形中的所有物体和地形本身进行lod操作可以根据用户硬件配置改变用软件渲染还是用硬件渲染,当然软件渲染得质量更好一些着色管理器:支持统一的特效系统,可以用来实现高级shader效果,比如渲染出一幅油画效果或者素描效果或者卡通效果等在特效方面,支持卡通效果,描边效果,油画效果和素描效果,等等根据情况而在此平台中添加支持billboard,可以用此来支持更多更细致的地形系统和特效系统支持镜头控制技术i_camera,对镜头的任一角度变换和视距的拉伸,快速剔除不可见的物体,快速排序显示等支持镜子系统,可以在游戏里面加入很多个镜子,只要系统能支持,则可任意多个添加支持面片的影子系统,一个圆形或者固定形状的影子,用来降低渲染影子的负担,动态的影子计算,根据系统配置选择将面片影子替换成动态影子,以贴近真实感,(不过效率太慢,应该谨慎使用)(2/N) 支持基于iocp的网络服务器,线程数由用户定义,拥有数据块的管理,加密系统(N),消息群发等支持客户端网络封装支持lua 脚本系统,大部分客户端和服务器的逻辑都可以由策划用脚本来实现,这使得游戏可以变得任意复杂支持日志log系统支持console输入输出的操作(N)支持sql数据库访问系统另却:摄像头控制技术(N) 支持语音输入(N)。
DCS系统中强制DI(开关量输入)通道:1.首先打开桌面上的下位软件MoxGRAF。
2.进入下位后,用鼠标选择Open图标。
点击Open图标选择需要的下位应用文件。
3.进入需要的应用文件后,点击PRD_DI的子目录。
在子目录中选择Browser进行搜索相应的DI通道与位号。
4.搜到通道后点击Debug,只有启动Debug后才可以在线观察和强制。
5.用鼠标双击相应的通道(DI强制输入端),会出现一个WriteBOOL variable的系统对话框。
6.出现WriteBOOL variable对话框后,先点击Lock,然后再点击TRUE,如果对应的通道变成红色表示强制成功。
DCS系统中强制DO(开关量输出)通道:1.首先打开桌面上的下位软件MoxGRAF。
2.进入下位后,用鼠标选择Open图标。
点击Open图标选择需要的下位应用文件。
3.进入需要的应用文件后,点击PRD_DO的子目录。
在子目录中选择Browser进行搜索相应的DO通道与位号。
4.搜到通道后点击Debug,只有启动Debug后才可以在线观察和强制。
5.用鼠标双击相应的通道,会出现一个WriteBOOL variable的系统对话框。
6.出现WriteBOOL variable对话框后,先点击Lock,然后再点击TRUE,如果对应的通道变成红色表示强制成功。
强制通道完毕后释放通道的步骤:1.强制完毕后释放通道时,需先启Debug。
2.然后在菜单Debug中找到Diagnosis,点击开后会出现Lock Variables系统对话框。
3.在Lock Variables系统对话框中释放强制通道,其中Unlock all(释放全部通道)unlock (释放单个通道)。
4.释放完毕后关闭Debug。
TCS3000组态在线下装:1.在下装前可将程序备份2.在相应修改的程序页(PROGRAM)的界面下,先保存,再点击编译(Build Program)按钮进行程序编译。
目录目录 (1)1 平台侧配置指导 (2)1.1.1 登录系统 (2)1.1.2 添加组织 (2)1.1.3 添加角色和用户 (3)1.1.4 添加解码器和监视器 (7)1.1.5 添加存储设备 (8)1.1.6 配置直存 (9)1.2 实时监控操作配置 (13)1.2.1 监控实况播放 (13)1.2.2 轮切配置 (14)1.2.3 组显示业务 (15)1.2.4 组轮巡业务 (18)1.2.5 巡航业务 (18)1 平台侧配置指导1.1.1 登录系统新安装的VM-PS3.0服务器有两个用户admin和loadmin,admin用户的用户名和密码都是admin,loadmin用户的用户名和密码都是loadmin。
登录首页后入下图所示:图1-1 VM-PS3.0主页面1.1.2 添加组织组织是资源的集合。
通过组织管理,您可以轻松实现对各类设备、摄像机、监视器等资源的管理和操作。
在本系统中,为方便资源管理,应合理规划系统内的组织结构、各类角色的权限分配以及关联的用户。
添加组织的操作步骤如下:(1) 单击[配置]页签,下拉菜单选择[组织管理]-[组织配置],进入“组织配置”页面。
(2) 在组织配置右侧页面视图中选择某子节点,单击<增加>。
(3) 输入组织名称和描述,推荐不输入组织编码,自动生成,如果手动输入请确保组织编码在本域的唯一性。
图1-2增加组织(4) 单击<确定>按钮,保存配置。
●不能向根节点添加组织,只能向本域及其下级组织添加组织。
●最大支持添加6层组织。
1.1.3 添加角色和用户角色是一组操作权限的集合。
当把某角色分配给某个用户后,该用户就拥有了该角色中定义的所有权限。
用户是系统管理和操作的实体。
当分配了相应的角色权限后,用户可以执行相应的系统管理和操作。
角色权限的分类:●全局权限对整个系统生效,不依赖于特定的组织和资源。
●资源权限则是针对组织、摄像机、监视器进行配置。
MICROBLAZE的调试方法介绍MICROBLAZE是XILINX提供的采用大端存储系统、指令和数据采用哈佛结构的32位软核,可在SPARTAN2,3和VIRTEX系统上运行,现对其调试方法做一个简单介绍,希望对有兴趣这方面开发的人有所帮助。
??? XILINX提供的调试环境主要有GDB和SDK。
即在XPS环境下可通过调用GDB完成,也可将程序导入SDK环境下进行调试。
这两种方法都是通过XMD作为底层工具与目标进行通讯。
本文以XPS环境下的GDB调试为例。
????调试的方法主要由4种:MDM,XMD-stub,ISS和Virtual Platform。
其中后两为仿真调试,不需要目标硬件支持,对于没有目标板的而又想预先程序开发的用户是个不错的选择。
下面对这4种方法逐一做一简要介绍。
1. MDM(Microprocessor Debug Module)????这种方式是基于硬件的调试方法。
主机通过JTAG与FPGA中的MDM core相连,而MDM又与Microblaze的调试端口连接起来,从而完成调试信息的通讯。
一个MDM模块可以与一个和多个MicroBlaze处理器核相连,如下图1。
?图1 MDM连接??? 首先要加入opb_mdm模块并完成与microblaze调试接口的连接,并设置好相应的参数,如图2所示。
如果是通过BSB创建的项目,选择Use On-chip Debug Logic作为调试方式即可完成opb_mdm模块的加入。
???? 图2 MDM相关设置相应的MHS文件为:BEGIN microblazePARAMETER INSTANCE = microblaze_0PARAMETER HW_VER = 4.00.aPARAMETER C_DEBUG_ENABLED = 1PARAMETER C_NUMBER_OF_PC_BRK = 2PARAMETER C_NUMBER_OF_RD_ADDR_BRK = 1 PARAMETER C_NUMBER_OF_WR_ADDR_BRK = 1 BUS_INTERFACE DLMB = dlmbBUS_INTERFACE ILMB = ilmbBUS_INTERFACE DOPB = mb_opbBUS_INTERFACE IOPB = mb_opbPORT CLK = sys_clk_sPORT DBG_CAPTURE = DBG_CAPTURE_s PORT DBG_CLK = DBG_CLK_sPORT DBG_REG_EN = DBG_REG_EN_sPORT DBG_TDI = DBG_TDI_sPORT DBG_TDO = DBG_TDO_sPORT DBG_UPDATE = DBG_UPDATE_sENDBEGIN opb_mdmPARAMETER INSTANCE = debug_module PARAMETER HW_VER = 2.00.a PARAMETER C_MB_DBG_PORTS = 1 PARAMETER C_USE_UART = 1 PARAMETER C_UART_WIDTH = 8PARAMETER C_HIGHADDR = 0x4140ffff BUS_INTERFACE SOPB = mb_opbPORT OPB_Clk = sys_clk_sPORT DBG_CAPTURE_0 = DBG_CAPTURE_sPORT DBG_CLK_0 = DBG_CLK_sPORT DBG_REG_EN_0 = DBG_REG_EN_sPORT DBG_TDI_0 = DBG_TDI_sPORT DBG_TDO_0 = DBG_TDO_sPORT DBG_UPDATE_0 = DBG_UPDATE_sEND??? 其中PARAMETER C_USE_UART = 1是使能MDM中的UART功能,可通过它模拟UART 从JTAG口传送数据。
blazeds通道、端点配置
选择端点
BlazeDS提供了下列基于servlet的通道、端点组合。
使用安全协议HTTPS 向AMF 端点发送消息安全的通道和端点都以“Secure”开头;比如,SecureAMFChannel和SecureAMFEndpoint
AMF和HTTP通道都支持无轮询的请求/响应模式和客户端轮询模式(模拟实时通信),而AMF和HTTP流通道模式提供了真正的数据流实时模式
选择通道
基于你的应用需求,你可以选择简单AMF、HTTP通道以及基于非轮询、搭载式、轮询或者长轮询模式。
当然你也可以选择streaming AMF、HTTP通道。
AMF和HTTP通道的最大不同就是前者基于二进制的AMF格式传输数据,而后者则是XML格式(AMFX)。
因为AMF通道比HTTP通道性能要好,所以只有当你的应用有特殊需求的时候才适合使用HTTP通道(事先已经知道二进制格式不能在你的应用网络中传输或者想让数据在防火墙上更好理解)。
下面分别讲一下前面提到的几种模式:
1) 无轮询AMF、HTTP通道
你可以使用这些通道无轮询的方式来提供RPC 服务,比如远程服务调
用、代理HTTP服务调用以及Web service请求。
这些方案不要求客户
端轮询信息或者服务端将消息“推”给客户端。
<!-- Simple AMF -->
<channel-definition id="samples-amf"
type="mx.messaging.channels.AMFChannel">
<endpoint
url="http://{}:8400/myapp/messagebroker/amf"
type="flex.messaging.endpoints.AmfEndpoint"/>
</channel-definition>
<!-- Simple secure AMF -->
<channel-definition id="my-secure-amf"
class="mx.messaging.channels.SecureAMFChannel">
<endpoint url="https://{}:9100/dev/messagebroker/ amfsecure"
class="flex.messaging.endpoints.SecureAMFEndpoint"/>
</channel-definition>
<!-- Simple HTTP -->
<channel-definition id="my-http"
class="mx.messaging.channels.HTTPChannel">
<endpoint
url="http://{}:8400/dev/messagebroker/http"
class="flex.messaging.endpoints.HTTPEndpoint"/>
</channel-definition>
<!-- Simple secure HTTP -->
<channel-definition id="my-secure-http"
class="mx.messaging.channels.SecureHTTPChannel">
<endpoint url=
"https://{}:9100/dev/messagebroker/
httpsecure"
class="flex.messaging.endpoints.SecureHTTPEndpoint"/> </channel-definition>
2) 搭载式AMF、HTTP通道。