我想问一下 如果我用自己的MCU板和集中器的PLC核心板(AM1808)进行通信数据交互的时候,应该怎么初始化和收发数据?有没有相关例程?
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
我想问一下 如果我用自己的MCU板和集中器的PLC核心板(AM1808)进行通信数据交互的时候,应该怎么初始化和收发数据?有没有相关例程?
如果是G3的话,请到下面这个网址下载相关文档
http://www.ti.com/lsds/ti/apps/smartgrid/plcmodem/product.page
上面的网站是TI PLC的所有方案的官方网站,请索取相关文档。
谢谢!
另外,在本论坛的博客区有我写的关于PLC的相关文章,供参考,谢谢!
我们用的是prime 协议,集中器有两个接口一个是管理接口 一个是数据接口,我还想问一下当我们的MCU对集中器的核心板(AM1808)操作的时候是只用操作集中器的数据接口还是管理接口?
陈工:
你好,在《TI_plcSUITE_prime_dc_iec_61334_4_32_api_spec》关于发送请求部分中,不知道DC_API_TLV_TYPE_TRX_HNDL中变量32 bit request handle怎么设?DSAP和DADDR的一一对应信息是否通过管理接口获得,还是通过别的方式知道?发送和接收数据前除了要绑定SAP外还需要其它前期准备工作吗,整个流程是什么?绑定SAP时是指定一个还是任意一个?如果是任意一个SAP,那表端如何知道?为什么SAP只有0 – 191?
谢谢!
楼主请参考附件中的序列。
基本操作就是先Bind SAP,然后就可以通过Data Request发送数据了。
DADDR应该在attach时候就知道了,可以通过管理接口获得。DSAP实际上可以任意设置,然后在表端进行判断就可以了。
SAP中191-255算是保留值,如果不指定的话可以自动分配到这里。
您好, 图片没有显示出来, 麻烦您以附件形式在上传一下.谢谢!
还是中继问题 请问TI 的plc套件 怎么调用中继函数 有详细说明文档么?dianqigongcheng163@163.com 麻烦您呢 Jones chen
你好,中继功能是自动完成的,无法调用。
当网络组好之后,给某个地址的信息会被自动送达到该地址。
也就说 ti 的电力线开发套件 开发具体应用 中继程序怎么少写进具体的板子里~TI有自动中继算法库?
楼主说的自动中继算法实际应该是指PRIME或者G3的组网功能
要使用现有套件中PRIME或G3的自动中继,必须有数据集中器(data concentrator - DC),在DSP中烧录PRIME或G3固件,通过串口命令其组网即可。或者可以通过修改DSP中程序(请参考附件中的例子)实现。
烧录PRIME或者G3固件TI能提供吧。数据集中器必须用TI的么?。现在电力线载波的主要问题是中继问题。部分公司的中继是固定中继,市场迫切需要自动中继的电力线载波产品。希望您能写篇具体文章介绍下tiplc的自动中继的特点和应用方案。
PRIME和G3都可以提供直接烧录的固件,数据集中器必须使用符合G3或者PRIME标准的集中器,TI也有相应方案
自动中继功能是符合PRIME和G3的自动中继的要求的,楼主可以参考PRIME和G3的文档。里面有详细说明。
简单说PRIME是树形网络,G3是类似Zigbee的mesh网络。
楼主说的应用方案是指什么内容?
我也想问一下,我们学校想购买TI的PLC产品做研究用途,我也看了TI网站上的产品介绍,说有提供成套软件,不知道这软件是以什么样的形式提供,比如上面所说的中继算法,自组网的程序,我们买到以后,拿来能够修改学习吗?或者说是开源的吗?
软件是以烧录固件的形式提供的。但也以lib的形式开放了底层PHY的API,MAC层的API,可以基于PHY层API开始设计自己的自组网程序。
DSP是指的c2000不?例子程序的中注册和连接是不是MAC层做的工作?
假如现在利用外围接口(430)来完成外围设备和PLC的通信过程,有没有相关程序(完成注册和连接)
DSP指的就是C2000系列芯片。注册和连接是DSP网络层的工作。
现在没有示例程序,不过楼上可以参考附件中的示例报文,程序其实很简单。
嗯,现在我们是利用430(或者M3)这个外围设备进行注册和登记,程序是比较简单,这个报文应该还有一个数据传输(data transfer)吧?这个数据传输的报文是固定的吗?
http://www.deyisupport.com/blog/b/smartgrid/archive/2012/11/26/jones-chen-plc-plc.aspx
就像这个链接上所说的
是的,会有一个data_transfer。
这个报文的结构是一样的,但每个报文会根据数据的长度,在帧头的长度、CRC信息部分发生变化。所以需要根据要发送的数据进行组帧。
另外组帧时候可以参考附件中的说明文档。(2.1节以及Page11)
在文档的最末附录中有CRC16的实现代码,楼主无需自行计算CRC。
SAP是一个4-32协议中的概念,类似于TCP协议中的端口(socket)。即收发一定会通过一个SAP(socket),而端口本身是应用层指定的(自选)。
在DC端,可以通过BindSAP来申请一个SAP_A,发送时候指定接收端的SAP_B。在接收时,表端会收到数据显示是从DC的SAP_A发来的,发给SAP_B的,这时候表端就可以根据需要自行处理了。
data_transfer是从host到plc的,那么我在发送这个data的时候怎么去知道这么DLSAP呢,在注册的过程中,消息格式中也没有带上DLSAP和SLSAP,我要怎样才能从消息中获得这个SAP呢?全部置 0x00 吗?
而且,Jones Chen在他的文章上这么说"数据的传输一定是由DC端发起的"。那么数据那要是我的电表被偷电了,我要主动上报,这种情况的数据肯定不是从DC过来的吧,这种情况下,应该怎么办?
在DC第一次发消息时候就可以知道DC从哪个SAP发送给SN的。而SN使用哪个SAP是表端自己选择的。
DC的SAP选好后,需要调用BindSAP来绑定该SAP。
请教一下,我在看
和
,看到两边都有SAP,DC端是SSAP和DSAP,表端是SLSAP和DLSAP,我想问一下,这两个边的SAP意义是否一样,是不是DC端的SSAP=表端的DLSAP?还有这个L代表什么意思?
我的理解是,两边的SAP是一个概念。
DSAP和SSAP要看数据方向:
[DC -> Meter]
对于DC (data request):DSAP - 表端的SAP,SSAP - DC的SAP
对于Meter (data indication):DLSAP - 表端的SAP,SLSAP - DC的SAP
[Meter -> DC]
对于Meter (data request):DLSAP - DC的SAP,SLSAP - 表端的SAP
对于DC (data indication):DSAP - DC的SAP,SSAP - 表端的SAP
嗯,我也是这么理解的,但是DC端的DSAP和SSAP是占两个字节,而meter端的DLSAP和SLSAP是占1个字节,这个是怎么回事,现在是想得到DLSAP和SLSAP来重组帧
lei zhou 说:如果我不去管DSAP的话,我在430里面做数据转发的时候,有个host向PLC的数据请求,
之前Richard Ma说430(host)data_request要组帧,这个帧里面的SLSAP该通过什么方式去得到,就算是系统自动分的话,我在写请求帧的时候也要组进去的。不管的话,置0吗?
430(host MCU)在发数据请求帧的时候也是要遵循附件主机消息协议的帧的格式的吧?
您能不能讲一下430(host MCU)数据转发是怎么做的?现在有点绕了。
我个人理解,SLSAP相当于数据索引。比如你的数据源分几组,那就用这个SLSAP来作为每组数据源的索引,举例来说:有一组是控制数据,一组是信息数据,那么可以分配SLSAP=0的数据帧来传送控制数据,而SLSAP=1的数据帧来传送信息数据。如果不需要分组,那就都用0。
希望能帮到您!
谢谢!
您好 ti的载波论坛说以lib的形式开放了底层PHY的API,MAC层的API,可以基于PHY层API开始设计自己的自组网程序。请问您API设计自己的自组网程序具体怎么设计 有没有例程步骤。
你好,自组网程序主要是通过自行设计软件保证对连入节点的管理及数据交互过程,很遗憾现在并没有自组网的例程可以使用。但是自组网的方式楼主可以参考PRIME协议,里面对自组网的方式提供了一种思路,下载地址为http://www.prime-alliance.org/?page_id=769 里面有文件PRIME Specification revision v1.3.6
另外Zigbee也是一种典型的自组网协议,也可以参考下其实现方式:
http://www.zigbee.org/Specifications/ZigBeeRF4CE/NetworkTopology.aspx