白炭黑生产中PH 的测量(下)
发布时间:2019-08-02 08:32
阅读次数:
次
分享到:
整个工艺过程中溶液的PH值至关重要,由于每次所加酸碱溶液的浓度不同,使得每次生产中溶液PH值和浓度并无系统关联。同时搅拌釜式反应器是一个非线性且滞后较大的反应过程,酸碱流量稍微过量就会引起PH值和浓度的很大变化,人工手动控制添加的酸碱流量不稳定,很容易出现产量质量不稳定。因此需要自动化控制测量PH值。
在沉淀法生产白炭黑的工艺中,PH值的测量环境有几个特点:
1. 由于反应釜内的环境为强碱/强酸环境,对PH传感器的腐蚀性比较强;
2. 反应过程中反应釜内物质为糊状物,极其容易粘附在传感器的表面,影响传感器检测的准确度;
3. 待反应结束后,时间稍长糊状物容易干结包裹在传感器的表面,影响下一次测试的准确度,传感器位于反应釜内不便于清洗,而且清洗时容易损坏传感器;
自控设计方案:
1. 利用采样泵将反应物抽出通过管道再送回反应釜内,以免造成浪费;
2. 在水平管道上安装PH传感器,避免了传感器长期浸泡在强酸/强碱的环境中,减少了传感器的损耗;
3. 通过特别设计的流通池,在设定的时间利用冲洗泵抽取清水对PH传感器进行冲洗,冲洗过程中利用电磁阀控制物料管路和冲洗管路的关闭,这样一方面既能保证测量的准确度并减少传感器的损耗,增长了传感器的使用寿命,同时不会让清洗水流入到物料内。
''标签解析异常!
Timeout 时间已到。在操作完成之前超时时间已过或服务器未响应。
在 System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)
在 System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose)
在 System.Data.SqlClient.TdsParserStateObject.ReadSniError(TdsParserStateObject stateObj, UInt32 error)
在 System.Data.SqlClient.TdsParserStateObject.ReadSniSyncOverAsync()
在 System.Data.SqlClient.TdsParserStateObject.TryReadNetworkPacket()
在 System.Data.SqlClient.TdsParserStateObject.TryPrepareBuffer()
在 System.Data.SqlClient.TdsParserStateObject.TryReadByteArray(Byte[] buff, Int32 offset, Int32 len, Int32& totalRead)
在 System.Data.SqlClient.TdsParserStateObject.TryReadString(Int32 length, String& value)
在 System.Data.SqlClient.TdsParser.TryReadSqlStringValue(SqlBuffer value, Byte type, Int32 length, Encoding encoding, Boolean isPlp, TdsParserStateObject stateObj)
在 System.Data.SqlClient.TdsParser.TryReadSqlValue(SqlBuffer value, SqlMetaDataPriv md, Int32 length, TdsParserStateObject stateObj)
在 System.Data.SqlClient.SqlDataReader.TryReadColumnInternal(Int32 i, Boolean readHeaderOnly)
在 System.Data.SqlClient.SqlDataReader.TryReadColumn(Int32 i, Boolean setTimeout, Boolean allowPartiallyReadColumn)
在 System.Data.SqlClient.SqlDataReader.GetValues(Object[] values)
在 System.Data.ProviderBase.DataReaderContainer.CommonLanguageSubsetDataReader.GetValues(Object[] values)
在 System.Data.ProviderBase.SchemaMapping.LoadDataRow()
在 System.Data.Common.DataAdapter.FillLoadDataRow(SchemaMapping mapping)
在 System.Data.Common.DataAdapter.FillFromReader(DataSet dataset, DataTable datatable, String srcTable, DataReaderContainer dataReader, Int32 startRecord, Int32 maxRecords, DataColumn parentChapterColumn, Object parentChapterValue)
在 System.Data.Common.DataAdapter.Fill(DataSet dataSet, String srcTable, IDataReader dataReader, Int32 startRecord, Int32 maxRecords)
在 System.Data.Common.DbDataAdapter.FillInternal(DataSet dataset, DataTable[] datatables, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior)
在 System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior)
在 System.Data.Common.DbDataAdapter.Fill(DataSet dataSet)
在 Whir.Repository.Database.Query(String sql, Object[] args)
在 Whir.Label.Dynamic.Content.E9MnLWGZP()
在 Whir.Label.Dynamic.Content.Render(HtmlTextWriter output)
''标签解析异常!
Timeout 时间已到。在操作完成之前超时时间已过或服务器未响应。
在 System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)
在 System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose)
在 System.Data.SqlClient.TdsParserStateObject.ReadSniError(TdsParserStateObject stateObj, UInt32 error)
在 System.Data.SqlClient.TdsParserStateObject.ReadSniSyncOverAsync()
在 System.Data.SqlClient.TdsParserStateObject.TryReadNetworkPacket()
在 System.Data.SqlClient.TdsParserStateObject.TryPrepareBuffer()
在 System.Data.SqlClient.TdsParserStateObject.TryReadByteArray(Byte[] buff, Int32 offset, Int32 len, Int32& totalRead)
在 System.Data.SqlClient.TdsParserStateObject.TryReadString(Int32 length, String& value)
在 System.Data.SqlClient.TdsParser.TryReadSqlStringValue(SqlBuffer value, Byte type, Int32 length, Encoding encoding, Boolean isPlp, TdsParserStateObject stateObj)
在 System.Data.SqlClient.TdsParser.TryReadSqlValue(SqlBuffer value, SqlMetaDataPriv md, Int32 length, TdsParserStateObject stateObj)
在 System.Data.SqlClient.SqlDataReader.TryReadColumnInternal(Int32 i, Boolean readHeaderOnly)
在 System.Data.SqlClient.SqlDataReader.TryReadColumn(Int32 i, Boolean setTimeout, Boolean allowPartiallyReadColumn)
在 System.Data.SqlClient.SqlDataReader.GetValues(Object[] values)
在 System.Data.ProviderBase.DataReaderContainer.CommonLanguageSubsetDataReader.GetValues(Object[] values)
在 System.Data.ProviderBase.SchemaMapping.LoadDataRow()
在 System.Data.Common.DataAdapter.FillLoadDataRow(SchemaMapping mapping)
在 System.Data.Common.DataAdapter.FillFromReader(DataSet dataset, DataTable datatable, String srcTable, DataReaderContainer dataReader, Int32 startRecord, Int32 maxRecords, DataColumn parentChapterColumn, Object parentChapterValue)
在 System.Data.Common.DataAdapter.Fill(DataSet dataSet, String srcTable, IDataReader dataReader, Int32 startRecord, Int32 maxRecords)
在 System.Data.Common.DbDataAdapter.FillInternal(DataSet dataset, DataTable[] datatables, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior)
在 System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior)
在 System.Data.Common.DbDataAdapter.Fill(DataSet dataSet)
在 Whir.Repository.Database.Query(String sql, Object[] args)
在 Whir.Label.Dynamic.Content.E9MnLWGZP()
在 Whir.Label.Dynamic.Content.Render(HtmlTextWriter output)