一、性质不同
1、RTU:构成企业综合自动化系统的核心装置。
2、DTU:专门用于将串口数据转换为IP数据或将IP数据转换为串口数据通过无线通信网络进行传送的无线终端设备。
二、硬件组成不同
1、RTU硬件组成:RTU的硬件主要包括CPU、存储器和各种输入输出接口。这些模块集成在电路板中,RTU的功能模块通过电路板布线连接。
2、DTU硬件组成:DTU硬件组成部分主要包括CPU控制模块、无线通讯模块以及电源模块。
三、应用不同
1、RTU应用:适用于较恶劣的温湿度环境,提供更多的计算功能。rtu产品广泛应用于油气、水利、电力调度、市政调度等行业的SCADA系统中。
2、DTU应用:DTU已广泛应用于电力、环保、LED信息发布、物流、水文、气象等行业。虽然应用行业不同,但应用原理是一样的。其中大部分是与工业设备如PLC,单片机等自动化产品连接,然后与后台建立无线通信连接。
参考资料来源:百度百科-RTU
参考资料来源:百度百科-DTU
一、主要区别:DTU是SOCKET连接的客户端。因此只有DTU是不能完成数据的无线传输的,还需要有后台软件的配合一起使用。FTU与RTU有以下区别:FTU体积小、数量多,可安置在户外馈线上,设有变送器,直接交流采样,抗高温,耐严寒,适应户外恶劣的环境;而RTU安装在户内,对环境要求高;FTU采集的数据量小,通信速率要求较低,可靠性要求较高;而RTU采集的数据量大,通信速率较高,可靠性要求高,有专用通道。TTU则是单一功能单元,仅对配电变压器的信息采集和控制。
二各单元主要特点:
DTU:(Distribution Terminal Unit)配电终端单元,用于开闭所,环网柜,变电所的多回路数据采集(包括:三相电压,三相电流,有功,无功,频率,开关位置等)、通讯、管理。具有更多回路,更多参数监控管理的能力,并上传至上层主站。功能更强,适应范围更加广泛DTU。已经广泛应用于电力、环保、LED信息发布、物流、水文、气象等行业领域。如上图所示,尽管应用的行业不同,但应用的原理是相同的。大都是DTU和行业设备相连,比如PLC,单片机等自动化产品的连接,然后和后台建立无线的通信连接。DTU的主要功能是把远端设备的数据通过无线的方式传送回后台中心。如右图所示,要完成数据的传输需要建立一套完整的数据传输系统。在这个系统中包括:DTU,客户设备、移动网络、后台中心。在前端,DTU和客户的设备通过232或者485接口相连。DTU上电运行后先注册到移动的GPRS网络,然后去和设置在DTU中的后台中心建立SOCKET连接。后台中心作为SOCKET的服务端,DTU是SOCKET连接的客户端。因此只有DTU是不能完成数据的无线传输的,还需要有后台软件的配合一起使用。在建立连接后,前端的设备和后台的中心就可以通过DTU进行无线数据传输了,而且是双向的传输。
FTU:(Feeder Terminal Unit )馈线远方终端,用于测量馈线的三相参数(包括:三相电压,三相电流,有功,无功,频率等),监控,保护配电系统中的馈线,与配电自动化主站通信,将信息提供给配电监控主站系统,执行主站对馈线及其终端设备的调节和控制。FTU是安装在配电室或馈线上的智能终端设备。它可以与远方的配电子站通信,将配电设备的运行数据发送到配电子站,还可以接受配电子站的控制命令,对配电设备进行控制和调节。
RTU:(Remote Terminal Unit)远程终端单元,通用于对现场信号、电力设备的监测和控制。RTU通常要具有优良的通讯能力和更大的存储容量,适用于更恶劣的温度和湿度环境,提供更多的计算功能。与常用的可编程控制器PLC相比,RTU通常具有优良的通讯能力和更大的存储容量,适用于更恶劣的温度和湿度环境,提供更多的计算功能。RTU产品在石油天然气、水利、电力调度、市政调度等行业SCADA系统中广泛应用。
在电力系统配置中,还有一个TTU。TTU:(Transformer Terminal Unit)配电变压器远方终端,用于对配电变压器的信息采集和控制(包括:三相电压,三相电流,有功,无功,频率,温度,瓦斯等),它实时监测配电变压器的运行工况,保护变压器的安全运行,调整无功补偿,并能将采集的信息传送到主站或其他的智能装置,提供配电系统运行控制及管理所需的数据。
RTU是指带有开关量、模拟量采集以及继电器输出和远传功能的设备。RTU要比DTU复杂的,他具备一些控制功能,计讯物联RTU能够有模拟量和开关量的输入与输出,DTU要相对的简单一些,如果您只要实现数据远传的功能,那么只用DTU就可以的,RTU也要比DTU贵很多的。
DTU是无线数据传输模块,采用4G/5G网络进行远程数据传输的终端模块其原理是将串口数据打包成TCP或者UDP包进行数据远传。RTU是模拟量采集终端模块,是将模拟变量采集后,经过A/D转化成数字格式的设备。DTU一般只能传输标准的232、485数据,RTU能将模拟量采集后转化为串口数据。DTU是数据传输设备,而RTU是数据采集设备。
JSP页面中嵌入动态图表的两种方法 :在JSP页面中插入Applet小程序 ;通过JavaBean动态生成图像。
JSP是一种广泛应用的网页设计技术 ,它是一种HTML和Java脚本混合的编程技术 ,它结合了HTML的静态特性和Java语言的动态能力 ,因此用它进行动态网页设计非常方便。在进行图像处理时 ,一般处理静态非常容易 ,但是 ,在实际应用中常常需要动态地在网页中生成二维的图形
基于JFreeChart开发的一个时序图的绘制。代码如下:
实例中createDataset()方法用于创建数据集合对象。时序图的数据集合与其他数据集合不同,它需要添加一个时间段内的所有数据,通常采用TimeSeries类进行添加。该实例中通过Math类的random()方法进行随机生成。
import javaawt;
import javaawteventActionEvent;
import
javaawteventActionListener;
import javaioBufferedInputStream;
import
javaioDataInputStream;
import javaioFileOutputStream;
import
javaioIOException;
import javanetURL;
import
javanetURLConnection;
import javatextDateFormat;
import
javatextParseException;
import javatextSimpleDateFormat;
import
javautilCalendar;
import javautilDate;
import javautilRandom;
import javaxswingJApplet;
import javaxswingTimer;
import orgjfreechart;
import
orgjfreechartannotationsCategoryTextAnnotation;
import
orgjfreechartaxisCategoryAnchor;
import
orgjfreechartaxisCategoryAxis;
import
orgjfreechartaxisCategoryLabelPositions;
import
orgjfreechartaxisDateAxis;
import
orgjfreechartaxisDateTickUnit;
import
orgjfreechartaxisDateTickUnitType;
import
orgjfreechartaxisValueAxis;
import
orgjfreechartlabelsStandardCategoryItemLabelGenerator;
import
orgjfreechartplotCategoryPlot;
import
orgjfreechartplotPlotOrientation;
import
orgjfreechartplotXYPlot;
import
orgjfreechartrenderercategoryBarRenderer;
import
orgjfreecharttitleTextTitle;
import
orgjfreedatacategoryCategoryDataset;
import
orgjfreedatacategoryIntervalCategoryDataset;
import orgjfreechartaxisNumberAxis;
import
orgjfreedatacategoryDefaultCategoryDataset;
import
orgjfreedataganttTask;
import orgjfreedataganttTaskSeries;
import
orgjfreedataganttTaskSeriesCollection;
import
orgjfreedatatimeDay;
import orgjfreedatatimeSecond;
import
orgjfreedatatimeTimeSeries;
import
orgjfreedatatimeTimeSeriesCollection;
import
orgjfreedataxyXYDataset;
public class shixutu extends JApplet {
//PLOT_FONT是一静态的字体常量对象,使用此对象可以避免反复用到的字体对象被多次创建
private static final Font PLOT_FONT = new Font("黑体", FontITALIC ,
18);
JFreeChart chart;
//创建数据动态更新的监听
class DataGenerator extends Timer
implements ActionListener {
private static final long serialVersionUID =
3977867288743720504L;
String
equID;
//设备ID号
int
totalTask;
//任务数
String[][]
strTask;
//任务情况
public void
actionPerformed(ActionEvent actionevent) {
addTotalObservation();
} DataGenerator()
{
super(1000,
null);
addActionListener(this);
Systemoutprintln("super");
}
}
//将更新的数据添加到chart中
private void addTotalObservation()
{
Systemoutprintln("addTotalObservation");
//设置新的数据集
chartgetXYPlot()setDataset(createDataset());
//通知Jfreechart
数据发生了改变,重新绘制柱状图
if
(chart != null)
{
chartfireChartChanged();
}
}
private static void
processChart(JFreeChart chart)
{
//设置标题字体
chartgetTitle()setFont(new Font("隶书", FontBOLD,
26));
//设置背景色
chartsetBackgroundPaint(new
Color(252,175,134));
XYPlot plot = chartgetXYPlot();
//获取图表的绘制属性
plotsetDomainGridlinesVisible(false);
//设置网格不显示
//获取时间轴对象
DateAxis dateAxis = (DateAxis)
plotgetDomainAxis();
dateAxissetLabelFont(PLOT_FONT);
//设置时间轴字体
//设置时间轴标尺值字体
dateAxissetTickLabelFont(new
Font("宋体",FontPLAIN,12));
dateAxissetLowerMargin(00);
//设置时间轴上显示的最小值
//获取数据轴对象
ValueAxis valueAxis =
plotgetRangeAxis();
valueAxissetLabelFont(PLOT_FONT);
//设置数据字体
DateFormat format = new SimpleDateFormat("mm分ss秒");
//创建日期格式对象
//创建DateTickUnit对象
DateTickUnit dtu = new
DateTickUnit(DateTickUnitTypeSECOND,30,format);
dateAxissetTickUnit(dtu);
//设置日期轴的日期标签 } //将结果输出在文件中
private static
void writeChartAsImage(JFreeChart chart)
{
FileOutputStream fos_jpg =
null;
try
{
fos_jpg = new
FileOutputStream("D:\\test\\shixutujpg");
ChartUtilitieswriteChartAsJPEG(fos_jpg, 1, chart, 400, 300,
null);
} catch (Exception e)
{
eprintStackTrace();
} finally
{
try
{
fos_jpgclose();
} catch (Exception e)
{
}
}
}
//创建数据集合对象
public static XYDataset createDataset()
{
//实例化TimeSeries对象
TimeSeries timeseries = new
TimeSeries("Data");
Second second = new Second();
//实例化Day
double d =
50D;
//添加一年365天的数据
for (int i = 0; i < 500; i++)
{
d = d + (Mathrandom() - 05) 10;
//创建随机数据
timeseriessecond(day, d);
//向数据集合中添加数据
second = (Second)
secondnext();
}
TimeSeriesCollection timeSeriesCollection =
new
TimeSeriesCollection(timeseries);
//返回数据集合对象
return timeSeriesCollection; } //Applet程序初始化
public void init()
{
// 1
得到数据
XYDataset dataset =
createDataset();
// 2
构造chart
chart =
ChartFactorycreateTimeSeriesChart(
"时序图示范", //
图表标题
"时间", //
目录轴的显示标签--横轴
"数值", //
数值轴的显示标签--纵轴
dataset, //
数据集
false,
false, //
是否生成工具
false //
是否生成URL链接
);
// 3
处理chart中文显示问题
processChart(chart);
// 4
chart输出
//writeChartAsImage(chart);
// 5 chart
以swing形式输出
//6使用applet输出
ChartPanel chartPanel = new
ChartPanel(chart);
chartPanelsetPreferredSize(new
javaawtDimension(800,500));
getContentPane()add(chartPanel); (new
DataGenerator())start();
}
public void
paint(Graphics g)
{
if
(chart != null)
{
chartdraw((Graphics2D) g,
getBounds());
}
}
public void destroy() {
}
}
以上就是关于DTU和RTU有什么区别全部的内容,包括:DTU和RTU有什么区别、DTU和RTU的区别是什么、rtu和dtu有什么区别等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)