<!--{{{--> <link rel='alternate' type='application/rss+xml' title='RSS' href='index.xml' /> <!--}}}-->
Background: #fff Foreground: #000 PrimaryPale: #8cf PrimaryLight: #18f PrimaryMid: #04b PrimaryDark: #014 SecondaryPale: #ffc SecondaryLight: #fe8 SecondaryMid: #db4 SecondaryDark: #841 TertiaryPale: #eee TertiaryLight: #ccc TertiaryMid: #999 TertiaryDark: #666 Error: #f88
/*{{{*/ body {background:[[ColorPalette::Background]]; color:[[ColorPalette::Foreground]];} a {color:[[ColorPalette::PrimaryMid]];} a:hover {background-color:[[ColorPalette::PrimaryMid]]; color:[[ColorPalette::Background]];} a img {border:0;} h1,h2,h3,h4,h5,h6 {color:[[ColorPalette::SecondaryDark]]; background:transparent;} h1 {border-bottom:2px solid [[ColorPalette::TertiaryLight]];} h2,h3 {border-bottom:1px solid [[ColorPalette::TertiaryLight]];} .button {color:[[ColorPalette::PrimaryDark]]; border:1px solid [[ColorPalette::Background]];} .button:hover {color:[[ColorPalette::PrimaryDark]]; background:[[ColorPalette::SecondaryLight]]; border-color:[[ColorPalette::SecondaryMid]];} .button:active {color:[[ColorPalette::Background]]; background:[[ColorPalette::SecondaryMid]]; border:1px solid [[ColorPalette::SecondaryDark]];} .header {background:[[ColorPalette::PrimaryMid]];} .headerShadow {color:[[ColorPalette::Foreground]];} .headerShadow a {font-weight:normal; color:[[ColorPalette::Foreground]];} .headerForeground {color:[[ColorPalette::Background]];} .headerForeground a {font-weight:normal; color:[[ColorPalette::PrimaryPale]];} .tabSelected{color:[[ColorPalette::PrimaryDark]]; background:[[ColorPalette::TertiaryPale]]; border-left:1px solid [[ColorPalette::TertiaryLight]]; border-top:1px solid [[ColorPalette::TertiaryLight]]; border-right:1px solid [[ColorPalette::TertiaryLight]]; } .tabUnselected {color:[[ColorPalette::Background]]; background:[[ColorPalette::TertiaryMid]];} .tabContents {color:[[ColorPalette::PrimaryDark]]; background:[[ColorPalette::TertiaryPale]]; border:1px solid [[ColorPalette::TertiaryLight]];} .tabContents .button {border:0;} #sidebar {} #sidebarOptions input {border:1px solid [[ColorPalette::PrimaryMid]];} #sidebarOptions .sliderPanel {background:[[ColorPalette::PrimaryPale]];} #sidebarOptions .sliderPanel a {border:none;color:[[ColorPalette::PrimaryMid]];} #sidebarOptions .sliderPanel a:hover {color:[[ColorPalette::Background]]; background:[[ColorPalette::PrimaryMid]];} #sidebarOptions .sliderPanel a:active {color:[[ColorPalette::PrimaryMid]]; background:[[ColorPalette::Background]];} .wizard {background:[[ColorPalette::PrimaryPale]]; border:1px solid [[ColorPalette::PrimaryMid]];} .wizard h1 {color:[[ColorPalette::PrimaryDark]]; border:none;} .wizard h2 {color:[[ColorPalette::Foreground]]; border:none;} .wizardStep {background:[[ColorPalette::Background]]; color:[[ColorPalette::Foreground]]; border:1px solid [[ColorPalette::PrimaryMid]];} .wizardStep.wizardStepDone {background:[[ColorPalette::TertiaryLight]];} .wizardFooter {background:[[ColorPalette::PrimaryPale]];} .wizardFooter .status {background:[[ColorPalette::PrimaryDark]]; color:[[ColorPalette::Background]];} .wizard .button {color:[[ColorPalette::Foreground]]; background:[[ColorPalette::SecondaryLight]]; border: 1px solid; border-color:[[ColorPalette::SecondaryPale]] [[ColorPalette::SecondaryDark]] [[ColorPalette::SecondaryDark]] [[ColorPalette::SecondaryPale]];} .wizard .button:hover {color:[[ColorPalette::Foreground]]; background:[[ColorPalette::Background]];} .wizard .button:active {color:[[ColorPalette::Background]]; background:[[ColorPalette::Foreground]]; border: 1px solid; border-color:[[ColorPalette::PrimaryDark]] [[ColorPalette::PrimaryPale]] [[ColorPalette::PrimaryPale]] [[ColorPalette::PrimaryDark]];} .wizard .notChanged {background:transparent;} .wizard .changedLocally {background:#80ff80;} .wizard .changedServer {background:#8080ff;} .wizard .changedBoth {background:#ff8080;} .wizard .notFound {background:#ffff80;} .wizard .putToServer {background:#ff80ff;} .wizard .gotFromServer {background:#80ffff;} #messageArea {border:1px solid [[ColorPalette::SecondaryMid]]; background:[[ColorPalette::SecondaryLight]]; color:[[ColorPalette::Foreground]];} #messageArea .button {color:[[ColorPalette::PrimaryMid]]; background:[[ColorPalette::SecondaryPale]]; border:none;} .popupTiddler {background:[[ColorPalette::TertiaryPale]]; border:2px solid [[ColorPalette::TertiaryMid]];} .popup {background:[[ColorPalette::TertiaryPale]]; color:[[ColorPalette::TertiaryDark]]; border-left:1px solid [[ColorPalette::TertiaryMid]]; border-top:1px solid [[ColorPalette::TertiaryMid]]; border-right:2px solid [[ColorPalette::TertiaryDark]]; border-bottom:2px solid [[ColorPalette::TertiaryDark]];} .popup hr {color:[[ColorPalette::PrimaryDark]]; background:[[ColorPalette::PrimaryDark]]; border-bottom:1px;} .popup li.disabled {color:[[ColorPalette::TertiaryMid]];} .popup li a, .popup li a:visited {color:[[ColorPalette::Foreground]]; border: none;} .popup li a:hover {background:[[ColorPalette::SecondaryLight]]; color:[[ColorPalette::Foreground]]; border: none;} .popup li a:active {background:[[ColorPalette::SecondaryPale]]; color:[[ColorPalette::Foreground]]; border: none;} .popupHighlight {background:[[ColorPalette::Background]]; color:[[ColorPalette::Foreground]];} .listBreak div {border-bottom:1px solid [[ColorPalette::TertiaryDark]];} .tiddler .defaultCommand {font-weight:bold;} .shadow .title {color:[[ColorPalette::TertiaryDark]];} .title {color:[[ColorPalette::SecondaryDark]];} .subtitle {color:[[ColorPalette::TertiaryDark]];} .toolbar {color:[[ColorPalette::PrimaryMid]];} .toolbar a {color:[[ColorPalette::TertiaryLight]];} .selected .toolbar a {color:[[ColorPalette::TertiaryMid]];} .selected .toolbar a:hover {color:[[ColorPalette::Foreground]];} .tagging, .tagged {border:1px solid [[ColorPalette::TertiaryPale]]; background-color:[[ColorPalette::TertiaryPale]];} .selected .tagging, .selected .tagged {background-color:[[ColorPalette::TertiaryLight]]; border:1px solid [[ColorPalette::TertiaryMid]];} .tagging .listTitle, .tagged .listTitle {color:[[ColorPalette::PrimaryDark]];} .tagging .button, .tagged .button {border:none;} .footer {color:[[ColorPalette::TertiaryLight]];} .selected .footer {color:[[ColorPalette::TertiaryMid]];} .sparkline {background:[[ColorPalette::PrimaryPale]]; border:0;} .sparktick {background:[[ColorPalette::PrimaryDark]];} .error, .errorButton {color:[[ColorPalette::Foreground]]; background:[[ColorPalette::Error]];} .warning {color:[[ColorPalette::Foreground]]; background:[[ColorPalette::SecondaryPale]];} .lowlight {background:[[ColorPalette::TertiaryLight]];} .zoomer {background:none; color:[[ColorPalette::TertiaryMid]]; border:3px solid [[ColorPalette::TertiaryMid]];} .imageLink, #displayArea .imageLink {background:transparent;} .annotation {background:[[ColorPalette::SecondaryLight]]; color:[[ColorPalette::Foreground]]; border:2px solid [[ColorPalette::SecondaryMid]];} .viewer .listTitle {list-style-type:none; margin-left:-2em;} .viewer .button {border:1px solid [[ColorPalette::SecondaryMid]];} .viewer blockquote {border-left:3px solid [[ColorPalette::TertiaryDark]];} .viewer table, table.twtable {border:2px solid [[ColorPalette::TertiaryDark]];} .viewer th, .viewer thead td, .twtable th, .twtable thead td {background:[[ColorPalette::SecondaryMid]]; border:1px solid [[ColorPalette::TertiaryDark]]; color:[[ColorPalette::Background]];} .viewer td, .viewer tr, .twtable td, .twtable tr {border:1px solid [[ColorPalette::TertiaryDark]];} .viewer pre {border:1px solid [[ColorPalette::SecondaryLight]]; background:[[ColorPalette::SecondaryPale]];} .viewer code {color:[[ColorPalette::SecondaryDark]];} .viewer hr {border:0; border-top:dashed 1px [[ColorPalette::TertiaryDark]]; color:[[ColorPalette::TertiaryDark]];} .highlight, .marked {background:[[ColorPalette::SecondaryLight]];} .editor input {border:1px solid [[ColorPalette::PrimaryMid]];} .editor textarea {border:1px solid [[ColorPalette::PrimaryMid]]; width:100%;} .editorFooter {color:[[ColorPalette::TertiaryMid]];} #backstageArea {background:[[ColorPalette::Foreground]]; color:[[ColorPalette::TertiaryMid]];} #backstageArea a {background:[[ColorPalette::Foreground]]; color:[[ColorPalette::Background]]; border:none;} #backstageArea a:hover {background:[[ColorPalette::SecondaryLight]]; color:[[ColorPalette::Foreground]]; } #backstageArea a.backstageSelTab {background:[[ColorPalette::Background]]; color:[[ColorPalette::Foreground]];} #backstageButton a {background:none; color:[[ColorPalette::Background]]; border:none;} #backstageButton a:hover {background:[[ColorPalette::Foreground]]; color:[[ColorPalette::Background]]; border:none;} #backstagePanel {background:[[ColorPalette::Background]]; border-color: [[ColorPalette::Background]] [[ColorPalette::TertiaryDark]] [[ColorPalette::TertiaryDark]] [[ColorPalette::TertiaryDark]];} .backstagePanelFooter .button {border:none; color:[[ColorPalette::Background]];} .backstagePanelFooter .button:hover {color:[[ColorPalette::Foreground]];} #backstageCloak {background:[[ColorPalette::Foreground]]; opacity:0.6; filter:'alpha(opacity:60)';} /*}}}*/
/*{{{*/ * html .tiddler {height:1%;} body {font-size:.75em; font-family:arial,helvetica; margin:0; padding:0;} h1,h2,h3,h4,h5,h6 {font-weight:bold; text-decoration:none;} h1,h2,h3 {padding-bottom:1px; margin-top:1.2em;margin-bottom:0.3em;} h4,h5,h6 {margin-top:1em;} h1 {font-size:1.35em;} h2 {font-size:1.25em;} h3 {font-size:1.1em;} h4 {font-size:1em;} h5 {font-size:.9em;} hr {height:1px;} a {text-decoration:none;} dt {font-weight:bold;} ol {list-style-type:decimal;} ol ol {list-style-type:lower-alpha;} ol ol ol {list-style-type:lower-roman;} ol ol ol ol {list-style-type:decimal;} ol ol ol ol ol {list-style-type:lower-alpha;} ol ol ol ol ol ol {list-style-type:lower-roman;} ol ol ol ol ol ol ol {list-style-type:decimal;} .txtOptionInput {width:11em;} #contentWrapper .chkOptionInput {border:0;} .externalLink {text-decoration:underline;} .indent {margin-left:3em;} .outdent {margin-left:3em; text-indent:-3em;} code.escaped {white-space:nowrap;} .tiddlyLinkExisting {font-weight:bold;} .tiddlyLinkNonExisting {font-style:italic;} /* the 'a' is required for IE, otherwise it renders the whole tiddler in bold */ a.tiddlyLinkNonExisting.shadow {font-weight:bold;} #mainMenu .tiddlyLinkExisting, #mainMenu .tiddlyLinkNonExisting, #sidebarTabs .tiddlyLinkNonExisting {font-weight:normal; font-style:normal;} #sidebarTabs .tiddlyLinkExisting {font-weight:bold; font-style:normal;} .header {position:relative;} .header a:hover {background:transparent;} .headerShadow {position:relative; padding:4.5em 0em 1em 1em; left:-1px; top:-1px;} .headerForeground {position:absolute; padding:4.5em 0em 1em 1em; left:0px; top:0px;} .siteTitle {font-size:3em;} .siteSubtitle {font-size:1.2em;} #mainMenu {position:absolute; left:0; width:10em; text-align:right; line-height:1.6em; padding:1.5em 0.5em 0.5em 0.5em; font-size:1.1em;} #sidebar {position:absolute; right:3px; width:16em; font-size:.9em;} #sidebarOptions {padding-top:0.3em;} #sidebarOptions a {margin:0em 0.2em; padding:0.2em 0.3em; display:block;} #sidebarOptions input {margin:0.4em 0.5em;} #sidebarOptions .sliderPanel {margin-left:1em; padding:0.5em; font-size:.85em;} #sidebarOptions .sliderPanel a {font-weight:bold; display:inline; padding:0;} #sidebarOptions .sliderPanel input {margin:0 0 .3em 0;} #sidebarTabs .tabContents {width:15em; overflow:hidden;} .wizard {padding:0.1em 1em 0em 2em;} .wizard h1 {font-size:2em; font-weight:bold; background:none; padding:0em 0em 0em 0em; margin:0.4em 0em 0.2em 0em;} .wizard h2 {font-size:1.2em; font-weight:bold; background:none; padding:0em 0em 0em 0em; margin:0.4em 0em 0.2em 0em;} .wizardStep {padding:1em 1em 1em 1em;} .wizard .button {margin:0.5em 0em 0em 0em; font-size:1.2em;} .wizardFooter {padding:0.8em 0.4em 0.8em 0em;} .wizardFooter .status {padding:0em 0.4em 0em 0.4em; margin-left:1em;} .wizard .button {padding:0.1em 0.2em 0.1em 0.2em;} #messageArea {position:fixed; top:2em; right:0em; margin:0.5em; padding:0.5em; z-index:2000; _position:absolute;} .messageToolbar {display:block; text-align:right; padding:0.2em 0.2em 0.2em 0.2em;} #messageArea a {text-decoration:underline;} .tiddlerPopupButton {padding:0.2em 0.2em 0.2em 0.2em;} .popupTiddler {position: absolute; z-index:300; padding:1em 1em 1em 1em; margin:0;} .popup {position:absolute; z-index:300; font-size:.9em; padding:0; list-style:none; margin:0;} .popup .popupMessage {padding:0.4em;} .popup hr {display:block; height:1px; width:auto; padding:0; margin:0.2em 0em;} .popup li.disabled {padding:0.4em;} .popup li a {display:block; padding:0.4em; font-weight:normal; cursor:pointer;} .listBreak {font-size:1px; line-height:1px;} .listBreak div {margin:2px 0;} .tabset {padding:1em 0em 0em 0.5em;} .tab {margin:0em 0em 0em 0.25em; padding:2px;} .tabContents {padding:0.5em;} .tabContents ul, .tabContents ol {margin:0; padding:0;} .txtMainTab .tabContents li {list-style:none;} .tabContents li.listLink { margin-left:.75em;} #contentWrapper {display:block;} #splashScreen {display:none;} #displayArea {margin:1em 17em 0em 14em;} .toolbar {text-align:right; font-size:.9em;} .tiddler {padding:1em 1em 0em 1em;} .missing .viewer,.missing .title {font-style:italic;} .title {font-size:1.6em; font-weight:bold;} .missing .subtitle {display:none;} .subtitle {font-size:1.1em;} .tiddler .button {padding:0.2em 0.4em;} .tagging {margin:0.5em 0.5em 0.5em 0; float:left; display:none;} .isTag .tagging {display:block;} .tagged {margin:0.5em; float:right;} .tagging, .tagged {font-size:0.9em; padding:0.25em;} .tagging ul, .tagged ul {list-style:none; margin:0.25em; padding:0;} .tagClear {clear:both;} .footer {font-size:.9em;} .footer li {display:inline;} .annotation {padding:0.5em; margin:0.5em;} * html .viewer pre {width:99%; padding:0 0 1em 0;} .viewer {line-height:1.4em; padding-top:0.5em;} .viewer .button {margin:0em 0.25em; padding:0em 0.25em;} .viewer blockquote {line-height:1.5em; padding-left:0.8em;margin-left:2.5em;} .viewer ul, .viewer ol {margin-left:0.5em; padding-left:1.5em;} .viewer table, table.twtable {border-collapse:collapse; margin:0.8em 1.0em;} .viewer th, .viewer td, .viewer tr,.viewer caption,.twtable th, .twtable td, .twtable tr,.twtable caption {padding:3px;} table.listView {font-size:0.85em; margin:0.8em 1.0em;} table.listView th, table.listView td, table.listView tr {padding:0px 3px 0px 3px;} .viewer pre {padding:0.5em; margin-left:0.5em; font-size:1.2em; line-height:1.4em; overflow:auto;} .viewer code {font-size:1.2em; line-height:1.4em;} .editor {font-size:1.1em;} .editor input, .editor textarea {display:block; width:100%; font:inherit;} .editorFooter {padding:0.25em 0em; font-size:.9em;} .editorFooter .button {padding-top:0px; padding-bottom:0px;} .fieldsetFix {border:0; padding:0; margin:1px 0px 1px 0px;} .sparkline {line-height:1em;} .sparktick {outline:0;} .zoomer {font-size:1.1em; position:absolute; overflow:hidden;} .zoomer div {padding:1em;} * html #backstage {width:99%;} * html #backstageArea {width:99%;} #backstageArea {display:none; position:relative; overflow: hidden; z-index:150; padding:0.3em 0.5em 0.3em 0.5em;} #backstageToolbar {position:relative;} #backstageArea a {font-weight:bold; margin-left:0.5em; padding:0.3em 0.5em 0.3em 0.5em;} #backstageButton {display:none; position:absolute; z-index:175; top:0em; right:0em;} #backstageButton a {padding:0.1em 0.4em 0.1em 0.4em; margin:0.1em 0.1em 0.1em 0.1em;} #backstage {position:relative; width:100%; z-index:50;} #backstagePanel {display:none; z-index:100; position:absolute; width:90%; margin:0em 3em 0em 3em; padding:1em 1em 1em 1em;} .backstagePanelFooter {padding-top:0.2em; float:right;} .backstagePanelFooter a {padding:0.2em 0.4em 0.2em 0.4em;} #backstageCloak {display:none; z-index:20; position:absolute; width:100%; height:100px;} .whenBackstage {display:none;} .backstageVisible .whenBackstage {display:block;} /*}}}*/
/*** StyleSheet for use when a translation requires any css style changes. This StyleSheet can be used directly by languages such as Chinese, Japanese and Korean which need larger font sizes. ***/ /*{{{*/ body {font-size:0.8em;} #sidebarOptions {font-size:1.05em;} #sidebarOptions a {font-style:normal;} #sidebarOptions .sliderPanel {font-size:0.95em;} .subtitle {font-size:0.8em;} .viewer table.listView {font-size:0.95em;} /*}}}*/
/*{{{*/ @media print { #mainMenu, #sidebar, #messageArea, .toolbar, #backstageButton, #backstageArea {display: none ! important;} #displayArea {margin: 1em 1em 0em 1em;} /* Fixes a feature in Firefox 1.5.0.2 where print preview displays the noscript content */ noscript {display:none;} } /*}}}*/
<!--{{{--> <div class='header' macro='gradient vert [[ColorPalette::PrimaryLight]] [[ColorPalette::PrimaryMid]]'> <div class='headerShadow'> <span class='siteTitle' refresh='content' tiddler='SiteTitle'></span> <span class='siteSubtitle' refresh='content' tiddler='SiteSubtitle'></span> </div> <div class='headerForeground'> <span class='siteTitle' refresh='content' tiddler='SiteTitle'></span> <span class='siteSubtitle' refresh='content' tiddler='SiteSubtitle'></span> </div> </div> <div id='mainMenu' refresh='content' tiddler='MainMenu'></div> <div id='sidebar'> <div id='sidebarOptions' refresh='content' tiddler='SideBarOptions'></div> <div id='sidebarTabs' refresh='content' force='true' tiddler='SideBarTabs'></div> </div> <div id='displayArea'> <div id='messageArea'></div> <div id='tiddlerDisplay'></div> </div> <!--}}}-->
<!--{{{--> <div class='toolbar' macro='toolbar [[ToolbarCommands::ViewToolbar]]'></div> <div class='title' macro='view title'></div> <div class='subtitle'><span macro='view modifier link'></span>, <span macro='view modified date'></span> (<span macro='message views.wikified.createdPrompt'></span> <span macro='view created date'></span>)</div> <div class='tagging' macro='tagging'></div> <div class='tagged' macro='tags'></div> <div class='viewer' macro='view text wikified'></div> <div class='tagClear'></div> <!--}}}-->
<!--{{{--> <div class='toolbar' macro='toolbar [[ToolbarCommands::EditToolbar]]'></div> <div class='title' macro='view title'></div> <div class='editor' macro='edit title'></div> <div macro='annotations'></div> <div class='editor' macro='edit text'></div> <div class='editor' macro='edit tags'></div><div class='editorFooter'><span macro='message views.editor.tagPrompt'></span><span macro='tagChooser excludeLists'></span></div> <!--}}}-->
To get started with this blank TiddlyWiki, you'll need to modify the following tiddlers: * SiteTitle & SiteSubtitle: The title and subtitle of the site, as shown above (after saving, they will also appear in the browser title bar) * MainMenu: The menu (usually on the left) * DefaultTiddlers: Contains the names of the tiddlers that you want to appear when the TiddlyWiki is opened You'll also need to enter your username for signing your edits: <<option txtUserName>>
These InterfaceOptions for customising TiddlyWiki are saved in your browser Your username for signing your edits. Write it as a WikiWord (eg JoeBloggs) <<option txtUserName>> <<option chkSaveBackups>> SaveBackups <<option chkAutoSave>> AutoSave <<option chkRegExpSearch>> RegExpSearch <<option chkCaseSensitiveSearch>> CaseSensitiveSearch <<option chkAnimate>> EnableAnimations ---- Also see [[AdvancedOptions]]
<<importTiddlers>>
今天整理了《04规约》的主目录部分,虽然辛苦但很有成就感
[[《04规约》主目录]] [[《技术条件》学习笔记]] [img[pictures/tux.jpg]]
阿群的学习笔记
聚沙成塔
a/b型触点 a/b Contact 被控开关辅助触点的型式,a型是触点状态与被控开关运行状态一致的触点;b型是触点状态与被控开关运行状态相反的触点。(现场开关遥信触点属性为“常闭”,对应“a型触点”,现场开关遥信触点属性为“常开”,对应“b型触点”。)
/*** |''Name:''|zh-HansTranslationPlugin| |''Description:''|Translation of TiddlyWiki into Simply Chinese| |''Source:''|http://tiddlywiki-zh.googlecode.com/svn/trunk/| |''Subversion:''|http://svn.tiddlywiki.org/Trunk/association/locales/core/zh-Hans/locale.zh-Hans.js| |''Author:''|BramChen (bram.chen (at) gmail (dot) com)| |''Version:''|2.4.2| |''Date:''|Dec 29, 2008| |''Comments:''|Please make comments at http://groups-beta.google.com/group/TiddlyWiki-zh/| |''License:''|[[Creative Commons Attribution-ShareAlike 2.5 License|http://creativecommons.org/licenses/by-sa/2.5/]]| |''~CoreVersion:''|2.4.1| ***/ //{{{ // -- // -- Translateable strings // -- // Strings in "double quotes" should be translated; strings in 'single quotes' should be left alone config.locale = 'zh-Hans'; // W3C language tag config.options.txtFileSystemCharSet = 'GBK'; if (config.options.txtUserName == 'LiuQun' || !config.options.txtUserName) // do not translate this line, but do translate the next line merge(config.options,{txtUserName: "YourName"}); merge(config.tasks,{ save: {text: "保存", tooltip: "保存变更至此 TiddlyWiki", action: saveChanges}, sync: {text: "同步", tooltip: "将你的资料内容与外部服务器与文件同步", content: '<<sync>>'}, importTask: {text: "导入", tooltip: "自其他文件或服务器导入文章或插件", content: '<<importTiddlers>>'}, tweak: {text: "选项", tooltip: "改变此 TiddlyWiki 显示与行为设置", content: '<<options>>'}, upgrade: {text: "更新", tooltip: "更新 TiddlyWiki 核心程序", content: '<<upgrade>>'}, plugins: {text: "插件管理", tooltip: "管理已安装的插件", content: '<<plugins>>'} }); merge(config.optionsDesc,{ txtUserName: "编辑文章所使用之作者署名", chkRegExpSearch: "启用正则式查找", chkCaseSensitiveSearch: "查找时,区分大小写", chkIncrementalSearch: "随打即找搜寻", chkAnimate: "使用动画显示", chkSaveBackups: "保存变更前,保留备份文件", chkAutoSave: "自动保存变更", chkGenerateAnRssFeed: "保存变更时,也保存 RSS feed", chkSaveEmptyTemplate: "保存变更时,也保存空白模版", chkOpenInNewWindow: "于新窗口开启链接", chkToggleLinks: "点击已开启文章炼结时,将其关闭", chkHttpReadOnly: "非本机浏览文件时,隐藏编辑功能", chkForceMinorUpdate: "修改文章时,不变更作者名称与日期时间", chkConfirmDelete: "删除文章前须确认", chkInsertTabs: "使用 tab 键插入定位字符,而非跳至下一个栏位", txtBackupFolder: "存放备份文件的资料夹", txtMaxEditRows: "编辑模式中显示列数", txtFileSystemCharSet: "指定保存文件所在之档案系统之字符集 (仅适用于 Firefox/Mozilla only)"}); // Messages merge(config.messages,{ customConfigError: "插件载入发生错误,详细请参考 PluginManager", pluginError: "发生错误: %0", pluginDisabled: "未执行,因标签设为 'systemConfigDisable'", pluginForced: "已执行,因标签设为 'systemConfigForce'", pluginVersionError: "未执行,插件需较新版本的 TiddlyWiki", nothingSelected: "尚未作任何选择,至少需选择一项", savedSnapshotError: "此 TiddlyWiki 未正确保存,详见 http://www.tiddlywiki.com/#Download", subtitleUnknown: "(未知)", undefinedTiddlerToolTip: "'%0' 尚无内容", shadowedTiddlerToolTip: "'%0' 尚无内容, 但已定义隐藏的默认值", tiddlerLinkTooltip: "%0 - %1, %2", externalLinkTooltip: "外部链接至 %0", noTags: "未设置标签的文章", notFileUrlError: "须先将此 TiddlyWiki 存至本机文件,才可保存变更", cantSaveError: "无法保存变更。可能的原因有:\n- 你的浏览器不支持此保存功能(Firefox, Internet Explorer, Safari and Opera 经适当设定后可保存变更)\n- 也可能是你的 TiddlyWiki 文件名称包含不合法的字符所致。\n- 或是 TiddlyWiki 文件被改名或搬移。", invalidFileError: " '%0' 非有效之 TiddlyWiki 文件", backupSaved: "已保存备份", backupFailed: "无法保存备份", rssSaved: "RSS feed 已保存", rssFailed: "无法保存 RSS feed ", emptySaved: "已保存模版", emptyFailed: "无法保存模版", mainSaved: "主要的TiddlyWiki已保存", mainFailed: "无法保存主要 TiddlyWiki,所作的改变未保存", macroError: "宏 <<\%0>> 执行错误", macroErrorDetails: "执行宏 <<\%0>> 时,发生错误 :\n%1", missingMacro: "无此宏", overwriteWarning: "'%0' 已存在,[确定]覆盖之", unsavedChangesWarning: "注意! 尚未保存变更\n\n[确定]保存,或[取消]放弃保存?", confirmExit: "--------------------------------\n\nTiddlyWiki 以更改内容尚未保存,继续的话将丢失这些更动\n\n--------------------------------", saveInstructions: "SaveChanges", unsupportedTWFormat: "未支持此 TiddlyWiki 格式:'%0'", tiddlerSaveError: "保存文章 '%0' 时,发生错误。", tiddlerLoadError: "载入文章 '%0' 时,发生错误。", wrongSaveFormat: "无法使用格式 '%0' 保存,请使用标准格式存放", invalidFieldName: "无效的栏位名称:%0", fieldCannotBeChanged: "无法变更栏位:'%0'", loadingMissingTiddler: "正从服务器 '%1' 的:\n\n工作区 '%3' 中的 '%2' 撷取文章 '%0'", upgradeDone: "已更新至 %0 版\n\n点击 '确定' 重新载入更新后的 TiddlyWiki"}); merge(config.messages.messageClose,{ text: "关闭", tooltip: "关闭此讯息"}); config.messages.backstage = { open: {text: "控制台", tooltip: "开启控制台执行编写工作"}, close: {text: "关闭", tooltip: "关闭控制台"}, prompt: "控制台:", decal: { edit: {text: "编辑", tooltip: "编辑 '%0'"} } }; config.messages.listView = { tiddlerTooltip: "查看全文", previewUnavailable: "(无法预览)" }; config.messages.dates.months = ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"]; config.messages.dates.days = ["周日", "周一","周二", "周三", "周四", "周五", "周六"]; config.messages.dates.shortMonths = ["一", "二", "三", "四", "五", "六", "七", "八", "九", "十", "十一", "十二"]; config.messages.dates.shortDays = ["日", "一","二", "三", "四", "五", "六"]; // suffixes for dates, eg "1st","2nd","3rd"..."30th","31st" config.messages.dates.daySuffixes = ["st","nd","rd","th","th","th","th","th","th","th", "th","th","th","th","th","th","th","th","th","th", "st","nd","rd","th","th","th","th","th","th","th", "st"]; config.messages.dates.am = "上午"; config.messages.dates.pm = "下午"; merge(config.messages.tiddlerPopup,{ }); merge(config.views.wikified.tag,{ labelNoTags: "未设标签", labelTags: "标签: ", openTag: "开启标签 '%0'", tooltip: "显示标签为 '%0' 的文章", openAllText: "开启以下所有文章", openAllTooltip: "开启以下所有文章", popupNone: "仅此文标签为 '%0'"}); merge(config.views.wikified,{ defaultText: "", defaultModifier: "(未完成)", shadowModifier: "(默认)", dateFormat: "YYYY年0MM月0DD日", createdPrompt: "创建于"}); merge(config.views.editor,{ tagPrompt: "设置标签之间以空白隔开,[[标签含空白时请使用双中括弧]],或点选现有之标签加入", defaultText: ""}); merge(config.views.editor.tagChooser,{ text: "标签", tooltip: "点选现有之标签加至本文章", popupNone: "未设置标签", tagTooltip: "加入标签 '%0'"}); merge(config.messages,{ sizeTemplates: [ {unit: 1024*1024*1024, template: "%0\u00a0GB"}, {unit: 1024*1024, template: "%0\u00a0MB"}, {unit: 1024, template: "%0\u00a0KB"}, {unit: 1, template: "%0\u00a0B"} ]}); merge(config.macros.search,{ label: " 查找", prompt: "搜索本 Wiki", accessKey: "F", successMsg: " %0 篇符合条件: %1", failureMsg: " 无符合条件: %0"}); merge(config.macros.tagging,{ label: "引用标签:", labelNotTag: "无引用标签", tooltip: "列出标签为 '%0' 的文章"}); merge(config.macros.timeline,{ dateFormat: "YYYY年0MM月0DD日"}); merge(config.macros.allTags,{ tooltip: "显示文章- 标签为'%0'", noTags: "没有标签"}); config.macros.list.all.prompt = "依字母排序"; config.macros.list.missing.prompt = "被引用且内容空白的文章"; config.macros.list.orphans.prompt = "未被引用的文章"; config.macros.list.shadowed.prompt = "这些隐藏的文章已定义默认内容"; config.macros.list.touched.prompt = "自下载或添加后被修改过的文章"; merge(config.macros.closeAll,{ label: "全部关闭", prompt: "关闭所有开启中的 tiddler (编辑中除外)"}); merge(config.macros.permaview,{ label: "永久链接", prompt: "可存取现有开启之文章的链接位址"}); merge(config.macros.saveChanges,{ label: "保存变更", prompt: "保存所有文章,生成新的版本", accessKey: "S"}); merge(config.macros.newTiddler,{ label: "创建文章", prompt: "创建 tiddler", title: "创建文章", accessKey: "N"}); merge(config.macros.newJournal,{ label: "创建日志", prompt: "创建 jounal", accessKey: "J"}); merge(config.macros.options,{ wizardTitle: "增订的进阶选项", step1Title: "增订的选项保存于浏览器的 cookies", step1Html: "<input type='hidden' name='markList'></input><br><input type='checkbox' checked='false' name='chkUnknown'>显示未知选项</input>", unknownDescription: "//(未知)//", listViewTemplate: { columns: [ {name: 'Option', field: 'option', title: "选项", type: 'String'}, {name: 'Description', field: 'description', title: "说明", type: 'WikiText'}, {name: 'Name', field: 'name', title: "名称", type: 'String'} ], rowClasses: [ {className: 'lowlight', field: 'lowlight'} ]} }); merge(config.macros.plugins,{ wizardTitle: "插件管理", step1Title: "- 已载入之插件", step1Html: "<input type='hidden' name='markList'></input>", // DO NOT TRANSLATE skippedText: "(此插件因刚加入,故尚未执行)", noPluginText: "未安装插件", confirmDeleteText: "确认是否删除所选插件:\n\n%0", removeLabel: "删除 'systemConfig' 标签", removePrompt: "删除 'systemConfig' 标签", deleteLabel: "删除", deletePrompt: "永远删除所选插件", listViewTemplate : { columns: [ {name: 'Selected', field: 'Selected', rowName: 'title', type: 'Selector'}, {name: 'Tiddler', field: 'tiddler', title: "插件", type: 'Tiddler'}, {name: 'Description', field: 'desc', title: "說明", type: 'String'}, {name: 'Size', field: 'size', tiddlerLink: 'size', title: "大小", type: 'Size'}, {name: 'Forced', field: 'forced', title: "强制执行", tag: 'systemConfigDisable', type: 'TagCheckbox'}, {name: 'Disabled', field: 'disabled', title: "停用", tag: 'systemConfigDisable', type: 'TagCheckbox'}, {name: 'Executed', field: 'executed', title: "已载入", type: 'Boolean', trueText: "是", falseText: "否"}, {name: 'Startup Time', field: 'startupTime', title: "载入时间", type: 'String'}, {name: 'Error', field: 'error', title: "载入状态", type: 'Boolean', trueText: "错误", falseText: "正常"}, {name: 'Log', field: 'log', title: "记录", type: 'StringList'} ], rowClasses: [ {className: 'error', field: 'error'}, {className: 'warning', field: 'warning'} ]} }); merge(config.macros.toolbar,{ moreLabel: "其他", morePrompt: "显示更多工具命令" }); merge(config.macros.refreshDisplay,{ label: "刷新", prompt: "刷新此 TiddlyWiki 显示" }); merge(config.macros.importTiddlers,{ readOnlyWarning: "TiddlyWiki 于唯读模式下,不支持导入文章。请由本机(file://)开启 TiddlyWiki 文件", wizardTitle: "自其他档案或服务器汇入文章", step1Title: "步骤一:指定服务器或来源文件", step1Html: "指定服务器类型:<select name='selTypes'><option value=''>选取...</option></select><br>请输入网址或路径:<input type='text' size=50 name='txtPath'><br>...或选择来源文件:<input type='file' size=50 name='txtBrowse'><br><hr>...或选择指定的馈入来源:<select name='selFeeds'><option value=''>选取...</option></select>", openLabel: "开启", openPrompt: "开启文件或", openError: "读取来源文件时发生错误", statusOpenHost: "正与服务器建立连线", statusGetWorkspaceList: "正在取得可用之文章清单", errorGettingTiddlerList: "取得文章清单时发生错误,请点选“取消”后重试。", step2Title: "步骤二:选择工作区", step2Html: "输入工作区名称:<input type='text' size=50 name='txtWorkspace'><br>...或选择工作区:<select name='selWorkspace'><option value=''>选取...</option></select>", cancelLabel: "取消", cancelPrompt: "取消本次导入动作", statusOpenWorkspace: "正在开启工作区", statusGetTiddlerList: "正在取得可用之文章清单", step3Title: "步骤三:选择欲导入之文章", step3Html: "<input type='hidden' name='markList'></input><br><input type='checkbox' checked='true' name='chkSync'>保持这些文章与服务器链接,便于同步后续的变更。</input><br><input type='checkbox' name='chkSave'>保存此服务器的详细资讯于标签为 'systemServer' 的文章名为:</input> <input type='text' size=25 name='txtSaveTiddler'>", importLabel: "导入", importPrompt: "导入所选文章", confirmOverwriteText: "确定要覆写这些文章:\n\n%0", step4Title: "步骤四:正在导入%0 篇文章", step4Html: "<input type='hidden' name='markReport'></input>", // DO NOT TRANSLATE doneLabel: "完成", donePrompt: "关闭", statusDoingImport: "正在导入文章 ...", statusDoneImport: "所选文章已导入", systemServerNamePattern: "%2 位于 %1", systemServerNamePatternNoWorkspace: "%1", confirmOverwriteSaveTiddler: "此 tiddler '%0' 已经存在。点击“确定”以服务器上料覆写之,或“取消”不变更后离开", serverSaveTemplate: "|''Type:''|%0|\n|''网址:''|%1|\n|''工作区:''|%2|\n\n此文为自动产生纪录服务器之相关资讯。", serverSaveModifier: "(系统)", listViewTemplate: { columns: [ {name: 'Selected', field: 'Selected', rowName: 'title', type: 'Selector'}, {name: 'Tiddler', field: 'tiddler', title: "文章", type: 'Tiddler'}, {name: 'Size', field: 'size', tiddlerLink: 'size', title: "大小", type: 'Size'}, {name: 'Tags', field: 'tags', title: "标签", type: 'Tags'} ], rowClasses: [ ]} }); merge(config.macros.upgrade,{ wizardTitle: "更新 TiddlyWiki 核心程序", step1Title: "更新或修补此 TiddlyWiki 至最新版本", step1Html: "您将更新至最新版本的 TiddlyWiki 核心程序 (自 <a href='%0' class='externalLink' target='_blank'>%1</a>)。 在更新过程中,您的资料将被保留。<br><br>请注意:更新核心可能不相容于其他套件。若对更新的档案有问题,详见 <a href='http://www.tiddlywiki.org/wiki/CoreUpgrades' class='externalLink' target='_blank'>http://www.tiddlywiki.org/wiki/CoreUpgrades</a>", errorCantUpgrade: "j无法更新此 TiddlyWiki. 您只能自本机端的 TiddlyWiki 文件执行更新程序", errorNotSaved: "执行更新之前,请先保存变更", step2Title: "确认更新步骤", step2Html_downgrade: "您的 TiddlyWiki 将自 %1 版降级至 %0版<br><br>不建议降级至较旧的版本。", step2Html_restore: "此 TiddlyWiki 核心已是最新版 (%0)。<br><br>您可以继续更新作业以确认核心程式未曾毁损。", step2Html_upgrade: "您的 TiddlyWiki 将自 %1 版更新至 %0 版", upgradeLabel: "更新", upgradePrompt: "准备更新作业", statusPreparingBackup: "准备备份中", statusSavingBackup: "正在备份文件", errorSavingBackup: "备份文件时发生问题", statusLoadingCore: "核心程序载入中", errorLoadingCore: "载入核心程序时,发生错误", errorCoreFormat: "新版核心程序发生错误", statusSavingCore: "正在保存新版核心程序", statusReloadingCore: "新版核心程式载入中", startLabel: "开始", startPrompt: "开始更新作业", cancelLabel: "取消", cancelPrompt: "取消更新作业", step3Title: "已取消更新作业", step3Html: "您已取消更新作业" }); merge(config.macros.sync,{ listViewTemplate: { columns: [ {name: 'Selected', field: 'selected', rowName: 'title', type: 'Selector'}, {name: 'Tiddler', field: 'tiddler', title: "文章", type: 'Tiddler'}, {name: 'Server Type', field: 'serverType', title: "服务器类型", type: 'String'}, {name: 'Server Host', field: 'serverHost', title: "服务器主机", type: 'String'}, {name: 'Server Workspace', field: 'serverWorkspace', title: "服务器工作区", type: 'String'}, {name: 'Status', field: 'status', title: "同步情形", type: 'String'}, {name: 'Server URL', field: 'serverUrl', title: "服务器网址", text: "View", type: 'Link'} ], rowClasses: [ ], buttons: [ {caption: "同步更新这些文章", name: 'sync'} ]}, wizardTitle: "将你的资料内容与外部服务器与文件同步", step1Title: "选择欲同步的文章", step1Html: '<input type="hidden" name="markList"></input>', syncLabel: "同步", syncPrompt: "同步更新这些文章", hasChanged: "已更动", hasNotChanged: "未更动", syncStatusList: { none: {text: "...", display:null, className:'notChanged'}, changedServer: {text: "服务器资料已更动", display:null, className:'changedServer'}, changedLocally: {text: "本机资料已更动", display:null, className:'changedLocally'}, changedBoth: {text: "已同时更新本机与服务器上的资料", display:null, className:'changedBoth'}, notFound: {text: "服务器无此资料", className:'notFound'}, putToServer: {text: "已储存更新资料至服务器", display:null, className:'putToServer'}, gotFromServer: {text: "已从服务器撷取更新资料", display:null, className:'gotFromServer'} } }); merge(config.macros.annotations,{ }); merge(config.commands.closeTiddler,{ text: "关闭", tooltip: "关闭本文"}); merge(config.commands.closeOthers,{ text: "关闭其他", tooltip: "关闭其他文章"}); merge(config.commands.editTiddler,{ text: "编辑", tooltip: "编辑本文", readOnlyText: "查阅", readOnlyTooltip: "查阅本文之原始内容"}); merge(config.commands.saveTiddler,{ text: "完成", tooltip: "确定修改"}); merge(config.commands.cancelTiddler,{ text: "取消", tooltip: "取消修改", warning: "确定取消对 '%0' 的修改吗?", readOnlyText: "完成", readOnlyTooltip: "返回正常显示模式"}); merge(config.commands.deleteTiddler,{ text: "删除", tooltip: "删除文章", warning: "确定删除 '%0'?"}); merge(config.commands.permalink,{ text: "永久链接", tooltip: "本文永久链接"}); merge(config.commands.references,{ text: "引用", tooltip: "引用本文的文章", popupNone: "本文未被引用"}); merge(config.commands.jump,{ text: "跳转", tooltip: "跳转至其他已开启的文章"}); merge(config.commands.syncing,{ text: "同步", tooltip: "本文章与服务器或其他外部文件的同步资讯", currentlySyncing: "<div>同步类型:<span class='popupHighlight'>'%0'</span></"+"div><div>与服务器:<span class='popupHighlight'>%1 同步</span></"+"div><div>工作区:<span class='popupHighlight'>%2</span></"+"div>", // Note escaping of closing <div> tag notCurrentlySyncing: "无进行中的同步动作", captionUnSync: "停止同步此文章", chooseServer: "与其他服务器同步此文章:", currServerMarker: "\u25cf ", notCurrServerMarker: " "}); merge(config.commands.fields,{ text: "栏位", tooltip: "显示此文章的扩充资讯", emptyText: "此文章没有扩充栏位", listViewTemplate: { columns: [ {name: 'Field', field: 'field', title: "扩充栏位", type: 'String'}, {name: 'Value', field: 'value', title: "内容", type: 'String'} ], rowClasses: [ ], buttons: [ ]}}); merge(config.shadowTiddlers,{ DefaultTiddlers: "GettingStarted", GettingStarted: "使用此 TiddlyWiki 的空白模版之前,请先修改以下默认文章:\n* SiteTitle 及 SiteSubtitle:网站的标题和副标题,显示于页面上方<br />(在保存变更后,将显示于浏览器视窗的标题列)。\n* MainMenu:主菜单(通常在页面左侧)。\n* DefaultTiddlers:包含一些文章的标题,可于进入TiddlyWiki 后开启。\n请输入您的大名,作为所创建/ 编辑文章的署名:<<option txtUserName>>", MainMenu: "[[使用说明|GettingStarted]]\n\n\n^^~TiddlyWiki 版本:<<version>>\n© 2008 [[UnaMesa|http://www.unamesa.org/]]^^", OptionsPanel: "这些设置将缓存于浏览器\n请签名<<option txtUserName>>\n(范例:WikiWord)\n\n<<option chkSaveBackups>> 保存备份\n<<option chkAutoSave>> 自动保存\n<<option chkRegExpSearch>> 正则式搜索\n<<option chkCaseSensitiveSearch>> 区分大小写搜索\n<<option chkAnimate>> 使用动画显示\n----\n[[进阶选项|AdvancedOptions]]", SiteTitle: "我的 TiddlyWiki", SiteSubtitle: "一个可重复使用的个人网页式笔记本", SiteUrl: 'http://www.tiddlywiki.com/', SideBarOptions: '<<search>><<closeAll>><<permaview>><<newTiddler>><<newJournal " YYYY年0MM月0DD日" "日志">><<saveChanges>><<slider chkSliderOptionsPanel OptionsPanel "偏好设置 \u00bb" "变更 TiddlyWiki 选项">>', SideBarTabs: '<<tabs txtMainTab "最近更新" "依更新日期排序" TabTimeline "全部" "所有文章" TabAll "分类" "所有标签" TabTags "更多" "其他" TabMore>>', StyleSheet: '[[StyleSheetLocale]]', TabMore: '<<tabs txtMoreTab "未完成" "内容空白的文章" TabMoreMissing "未引用" "未被引用的文章" TabMoreOrphans "默认文章" "默认的影子文章" TabMoreShadowed>>' }); merge(config.annotations,{ AdvancedOptions: "此默认文章可以存取一些进阶选项。", ColorPalette: "此默认文章里的设定值,将决定 ~TiddlyWiki 使用者介面的配色。", DefaultTiddlers: "当 ~TiddlyWiki 在浏览器中开启时,此默认文章里列出的文章,将被自动显示。", EditTemplate: "此默认文章里的 HTML template 将决定文章进入编辑模式时的显示版面。", GettingStarted: "此默认文章提供基本的使用说明。", ImportTiddlers: "此默认文章提供存取导入中的文章。", MainMenu: "此默认文章的内容,为于屏幕左侧主菜单的内容", MarkupPreHead: "此文章的内容将加至 TiddlyWiki 文件的 <head> 段落的起始", MarkupPostHead: "此文章的内容将加至 TiddlyWiki 文件的 <head> 段落的最后", MarkupPreBody: "此文章的内容将加至 TiddlyWiki 文件的 <body> 段落的起始", MarkupPostBody: "此文章的内容将加至 TiddlyWiki 文件的 <body> 段落的最后,于 script 区块之后", OptionsPanel: "此默认文章的内容,为于屏幕右侧副菜单中的选项面板里的内容", PageTemplate: "此默认文章里的 HTML template 决定的 ~TiddlyWiki 主要的版面配置", PluginManager: "此默认文章提供存取插件管理员", SideBarOptions: "此默认文章的内容,为于屏幕右侧副菜单中选项面板里的内容", SideBarTabs: "此默认文章的内容,为于屏幕右侧副菜单中的页签面板里的内容", SiteSubtitle: "此默认文章的内容为页面的副标题", SiteTitle: "此默认文章的内容为页面的主标题", SiteUrl: "此默认文章的内容须设定为文件发布时的完整网址", StyleSheetColors: "此默认文章内含的 CSS 规则,为相关的页面元素的配色。''勿修改此文'',请于 StyleSheet 中作增修", StyleSheet: "此默认文章内容可包含 CSS 规则", StyleSheetLayout: "此默认文章内含的 CSS 规则,为相关的页面元素的版面配置。''勿修改此文'',请于 StyleSheet 中作增修", StyleSheetLocale: "此默认文章内含的 CSS 规则,可依翻译语系做适当调整", StyleSheetPrint: "此默认文章内含的 CSS 规则,用于列印时的样式", TabAll: "此默认文章的内容,为于屏幕右侧的“全部”页签的内容", TabMore: "此默认文章的内容,为于屏幕右侧的“更多”页签的内容", TabMoreMissing: "此默认文章的内容,为于屏幕右侧的“未完成”页签的内容", TabMoreOrphans: "此默认文章的内容,为于屏幕右侧的“未引用”页签的内容", TabMoreShadowed: "此默认文章的内容,为于屏幕右侧的“默认文章”页签的内容", TabTags: "此默认文章的内容,为于屏幕右侧的“分类”页签的内容", TabTimeline: "此默认文章的内容,为于屏幕右侧的“最近更新”页签的内容", ToolbarCommands: "此默认文章的内容,为显示于文章工具列之命令", ViewTemplate: "此默认文章里的 HTML template 决定文章显示的样子" }); //}}}
国家电网公司企业标准Q/GDW 130-2005 ''电力负荷管理系统数据传输规约'' POWER LOAD MANAGEMENT SYSTEM DATA TRANSMISSION PROTOCOL !前言 本规约约规定了电力负荷管理系统中主站和终端之间进行数据传输的帧格式、数据编码及传输规则。 !主目录 #[[规约适用范围|适用范围]] #[[规范性引用文件]] #[[术语定义]]和[[缩略语表|符号和缩略语表]] #[[帧结构]] #报文应用及数据结构 **确认∕否认(AFN=00H) **复位命令(AFN=01H) **链路接口检测(AFN=02H) **中继站命令(AFN=03H) **设置参数(AFN=04H) **控制命令(AFN=05H) **身份认证及密钥协商(AFN=06H) **查询参数(AFN=0AH) **请求1类数据(AFN=0CH) **请求2类数据(AFN=0DH) **请求3类数据(AFN=0EH) **文件传输(AFN=0FH) **数据转发(AFN=10H) !附录 ##数据格式说明 ##事件代码ERC ##数据冻结密度 ##出错否认代码ERR ##短信(SMS)传输接口分拆
《电力负荷管理系统通用技术条件》 !功控([[功率定值闭环控制]]) 功控操作包括以下几种类型: #[[时段控]] #[[厂休控]] #[[营业报停控]] #[[当前功率下浮控]] 注:控制的优先级由高到低是当前功率下浮控、营业报停控、厂休控、时段控。若多种功率控制类型同时投入,只执行优先级最高的功率控制类型。 !点能量定值闭环控制 [[日电控、月电控]] [[购电控]] [[催费告警]] !保电、剔除功能 …… !遥控 [[遥控跳闸]] [[允许合闸]] !无功补偿 ……
用作Git测试
''主站地址''(master station address) 主站中具有通信需求的对象(如工作站、应用功能模块等)的编码。
任务 task 规定终端在指定时间或条件下执行所需的操作。
信息点 information point 表示参数或数据的对象信息,如测量点、总加组、控制轮次、直流模拟量分路等。
信息类 information type 表示参数或数据的分类信息,一个信息类可以是一种参数或数据,也可以是一组参数或数据的集合。 任务 task
<nowiki> 发送--- 68 31 00 31 00 68 4B 88 88 01 00 02 0C 67 00 00 02 00 D3 16 </nowiki> <nowiki> 接收--- 68 49 00 49 00 68 88 88 88 01 00 02 0C 67 00 00 02 00 13 26 09 15 26 09 96 16 </nowiki>
''功率定值''是允许的功率上限数值。 电力负荷管理终端负责实时检测客户用电功率,当实际功率超过功率定值时,应发出音响或语音告警。
主站向终端下发客户功率定值等功率控制参数,终端连续监测客户用电实时功率,当实时功率超过功率定值时,终端发出音响(或语音)告警, 告警结束自动按设定轮次和延迟时间依次动作输出继电器,控制客户端相应配电开关跳闸,直至实时功率下降到定值,该控制过程简称为功控。 功率定值闭环控制根据控制参数不同分为时段功控、厂休功控、营业报停功控和当前功率下浮控等控制类型。 #[[时段控]] #[[厂休控]] #[[营业报停控]] #[[当前功率下浮控]] 控制的优先级由高到低是当前功率下浮控、营业报停功控、厂休功控、时段功控。若多种功率控制类型同时投入,只执行优先级最高的功率控制类型。 在参数修改、控制投入或解除以及控制执行时应有音响(或语音)告警通知客户。
根据客户实际情况,可以将一周中的某1天或若干天选定为厂休日,并规定厂休日限电的开始时间、持续时间段以及需要控制的定值参数。主站对上述参数进行输入和存储,并下发给终端。 !相关参数 厂休控需要设置以下参数:''每周限电日''(厂休日)、''厂休日功率定值''、''限电延续时间''、''控制轮次''等 !控制要求 ##主站向终端下发厂休功控参数,终端收到这些命令后修改相应参数。 ##主站向终端下发厂休功控投入命令,终端收到该命令后显示“厂休功控投入”状态,当不在保电状态时,终端在厂休日监测实时功率,自动执行功率定值闭环控制功能。闭环控制过程中应在显示屏上显示定值、控制对象、执行结果等信息。 ##控制时段结束或厂休功控解除后,应有音响(或语音)通知客户,允许客户合上由于厂休功控引起的跳闸开关。 !测试方法 #测试主机按规定向终端下发厂休功控参数和控制轮次,终端按设置值修改厂休功控参数,并有音响(或语音)告警信号; #修改终端日期和时间,使其处在厂休功控时间段内; #测试主机向终端下发“厂休功控投入”命令,终端应有音响(或语音)告警,并显示“厂休功控投入”状态; #调整终端输入脉冲频率或电能表的输入电流,使终端测出的实时功率超设置值,终端动作应符合b的要求; #降低输入脉冲频率或电能表的输入电流,使终端测出的实时功率下降到设置值以下或达到保安值,终端应中止后续轮次的动作; #厂休功控时间段结束或测试主机下发“厂休功控解除”命令后,终端动作应符合c的要求。 !主台软件的使用问题 使用主台软件(电力负控新系统测试软件)测试厂休控功能时需注意一个小问题:“功控及营业报停参数设置”对话框中有一个“保存”按钮使用不方便。 (详见:[[厂休控参数设置的屏幕截图]])
[img[pictures/厂休控参数设置.png]]
04规约采用GB/T18657.1的6.2.4FT1.2异步式传输帧格式,定义如下: |bgcolor(lightblue): 报头 | 起始字符(68H) | |~| 长度L(2字节) | |~| 长度L(2字节) | |~| 起始字符(68H) | |>| 控制域C | |>| 地址域A | |bgcolor(pink): 数据 | AFN | |~| SEQ | |~| 数据标识1 | |~| 数据单元1 | |~| …… | |~| 数据标识n | |~| 数据单元n | |~| 附加信息域AUX | |>| 校验和CS | |>| 结束字符(16H) | !各段定义 [[长度L]]
''总加组'':指相关的各[[测量点]]的某一同类电气量值按设置的加或减运算关系计算得到的数值。
''数据单元标识'' :用于表示一个或一组信息点的一种或一组信息类型的标识。
主站以半小时为最小单位将一天24小时进行时段划分,最多可分成8个控制时段,每个时段均有相应的功率定值。主站可以输入、存储功控时段、功率定值和功率定值浮动系数等参数,并下发给终端。 时段功控可以根据预先设置的控制时段、功率定值、控制轮次等参数制定成若干方案,操作员按照调荷需要选择方案号,实施功率控制。 !终端控制要求 ##参数设置:主站依次向终端下发''功控时段''、[[功率定值]]、''定值浮动系数''、''告警时间''、''控制轮次''等参数,终端收到这些命令后修改相应参数。 ##时段控投入:主站向终端下发时段功控投入命令,终端收到该命令后显示“时段功控投入”状态,当不在保电状态时,终端在功控时段内监测实时功率,自动执行功率定值闭环控制功能。闭环控制过程中应在显示屏上显示定值、控制对象、执行结果等。 ##时段控解除:控制时段结束或时段功控解除后,应有音响(或语音)通知客户,允许客户合上由于时段功控引起的跳闸开关。 !测试方法 ##测试主机依次向终端下发控制要求a中的各项参数,终端按设置值修改时段功控参数,并有音响(或语音)告警信号; ##测试主机向终端发出“时段功控投入”命令,终端收到后有音响(或语音)告警并显示“时段功控投入”状态; ##修改终端时钟,使其处在功控时段;向终端输入脉冲量或改变电能表的输入电流,使终端测量的实时功率超过设置值,终端动作应符合控制要求b; ##降低输入脉冲频率或电能表的输入电流,使终端监测实时功率在规定时间内持续下降到设置值以下或达到保安值,终端应中止后续轮次的动作; ##功控时段结束后或主机下发“时段功控解除”命令后,终端动作应负荷控制要求c:有音响(或语音)通知客户,允许客户合上由于时段功控引起的跳闸开关。 备忘 各控制轮次告警时间以分钟为单位(终端上显示的倒计时00:01表示1分钟) 控制轮次的投入/解除设置位于''功控电控轮次''窗口
#[[终端地址]] #[[系统广播地址]] #[[终端组地址]] #[[主站地址]] #[[电能示值]] #[[测量点]] #[[总加组]] #[[数据单元标识]] #[[信息点]] #[[信息类]] #[[任务]] #[[a/b型触点]]
指可以测量出唯一的一组电气量值的测量装置与终端的顺序电气连接点,当物理上相同的一个电气连接点被多个装置所测量,或者被一个装置所测量但通过多种方式被传递到终端时,按照多个测量点计,每个测量点具有唯一的逻辑定位编码,是该装置在终端的参数配置、数据应用的唯一对象标识。
''电能示值'':电能表计度器电能示值的简称。
|!符号和缩略语|!表示| |A|地址域| |A1|行政区划码| |A2|终端地址| |A3|主站地址和终端组地址标志| |ACD|要求访问位| |AFN|应用层功能码| |AUX|附加信息域| |BCD|二-十进制编码| |BIN|二进制编码| |BS|独立位组合| |C|控制域| |CON|请求确认标志位| |CS|帧校验和| |DIR|传输方向位| |EC、~EC1、~EC2|事件计数器| |ERC|事件记录代码| |FCB|帧计数位| |FCV|帧计数有效位| |FIR|首帧标志:报文的第一帧| |FIN|末帧标志:报文的最后一帧| |Fn|信息类标识码| |G|电能量单位位| |G1、G2、G3|组成倍率的码位| |L|[[长度|长度L]]| |L1|[[用户数据长度|长度L1]]| |Lcn|中文信息长度| |Le|事件记录长度| |MSA|主站地址| |P|校验位| |pn|信息点标识码| |PFC|启动帧计数器| |PRM|启动标志位| |PSEQ|启动帧序号| |PW|消息认证码字段| |RSEQ|响应帧序号| |S|正负极性位| |S0|上下浮动位| |SEQ|帧序列域| |Tp|时间标签| |~TpV|时间标签有效位| |Td_c|曲线类数据时标| |Td_d|日冻结类数据时标| |Td_h|小时冻结类数据时标| |Td_m|月冻结类数据时标|
''系统广播地址'':系统中所有终端都响应的地址编码。
系统中终端设备的地址编码,简称''终端地址''。
''终端组地址'':具有某一相同属性的终端群组编码,如属于同一行业、同一变电站、同一线路。特点是属于同一终端组地址的所有终端能够响应同一个命令。
{{{ 区块内文字 区块内文字 }}}
!范例 |!th11111111|!th22222222222222222| |>| 跨行 在跨过的几栏用大于>符号为内容 | | 跨列 在下面几行用~为内容 |靠左 内定值, 左右不要留空格| |~| 靠右 以空格起始栏位| |bgcolor(#ffff00):@@color(blue):彩色@@| 置中 以空格起始及结束栏 位 | |标题 在行尾放一个c|c !显示 |!th11111111|!th22222222222222222| |>| 跨行 在跨过的几栏用大于>符号为内容 | | 跨列 在下面几行用~为内容 |靠左 内定值, 左右不要留空格| |~| 靠右 以空格起始栏位| |bgcolor(#ffff00):@@color(blue):彩色@@| 置中 以空格起始及结束栏位 | |标题 在行尾放一个c|c
参数设置 根据客户申请营业报停起止时间,确定报停期间的功率定值。 主站输入和存储营业报停起止时间和功率定值,并将参数下发终端。
下列文件中的条款通过本标准的引用而成为本标准的条款。凡是注日期的引用文件,其随后所有的修改单(不包括勘误的内容)或修订版均不适用于本标准,然而,鼓励根据本标准达成协议的各方研究是否可使用这些文件的最新版本。凡是不注日期的引用文件,其最新版本适用于本标准。 GB 2260-91 中华人民共和国行政区划代码 GB/T18657.1-2002 远动设备及系统 第5部分 传输规约 第1篇 传输帧格式 GB/T18657.2-2002 远动设备及系统 第5部分 传输规约 第2篇 链路传输规则 DL/T645-1997 多功能电能表通信规约 DL/T614-1997 多功能电能表
~TiddlyWiki支持以下字体格式选项: | !显示 | !文字格式 | | ''粗体字'' | {{{''粗体字''}}} | | --删除线-- | {{{--删除线--}}} | | __下划线__ | {{{__下划线__}}} | | //斜体字// | {{{//斜体字//}}} | | 上标字: 2^^3^^=8 | {{{2^^3^^=8}}} | | 下标字: a~~ij~~ = -a~~ji~~ | {{{a~~ij~~ = -a~~ji~~}}} | | @@标示重点@@ | {{{@@标示重点@@}}} | |>|| |>|可使用 CSS 语法指定文字与背景颜色| |@@color:green;文字颜色@@|{{{@@color:green;文字颜色@@}}}| |@@background-color:#ff0000;color:#ffffff;背景颜色@@|{{{@@background-color:#ff0000;color:#ffffff;背景颜色@@}}}| |>| |~|>|@@text-shadow:black 3px 3px 8px;font-size:18pt;display:block;margin:1em 1em 1em 1em;border:1px solid black;支持所有 CSS 语法@@<br>{{{@@text-shadow:black 3px 3px 8px;font-size:18pt;display:block;margin:1em 1em 1em 1em;border:1px solid black;支持所有 CSS 语法@@}}}| |>|| |>|支持旧版相容语法| |@@bgcolor(#ff0000):color(#ffffff):红色背景@@|{{{@@bgcolor(#ff0000):color(#ffffff):红色背景@@}}}|
Numbered List # 在每列的起始加上''#'' # 便会自动为你的清单编号 ## 如果你需要第二层清单 ## 那就在列的起始行放置两个''#'' ### 第三层以此类推 ### (仍然属于第三层) # 每减少一个''#'' ## 下层清单的计数也会重置 # 到此结束 Un-nummbered List * 只要在列首加上 ''*'' ** 在列首加上 ''**'' ** 即可拥有第二层清单 *** 有需要的话,那就多加几个''*'' *** 这里用了 ''***'' * ~JeremyRuston说道: <<< A ~TiddlyWiki is like a blog because it's divided up into neat little chunks, but it encourages you to read it by hyperlinking rather than sequentially: if you like, a non-linear blog analogue that binds the individual microcontent items into a cohesive whole. <<< 你也可以使用阶层式引言格式。 编辑本文即可了解,如何编辑阶层式引言格式。 >第 1 层 >第 1 层 >>第 2 层 >>第 2 层 >>>第 3 层 >>>第 3 层 >>第 2 层 >第 1 层
《电力负荷管理系统数据传输规约》 #适用于点对点、多点共线及一点对多点的通信方式 #适用于主站对终端执行主从问答方式以及终端主动上传方式的通信
!字节顺序 | D7 | D6 | D5 | D4 | D3 | D2 |>|bgcolor(yellow): (D1,D0) | | D15 | D14 | D13 | D12 | D11 | D10 | D9 | D8 | !说明 其中最低两位D1、D0为''规约标志位''(D1=0,D0=1) 高14位(D15~D2)为''用户数据长度L1'' [[用户数据长度L1]] = [[控制域C]] + [[地址域A]] + [[链路用户数据(应用层)]] !报文解析实例 主台发送报文: | 68 __31 00__ __31 00__ 68 | 4B 77 77 01 00 02 0C 63 00 00 02 00 | AD 16 | 报文全长20字节,其中''用户数据长度L1''为12字节。 AFN=0C,Fn={02,00}查询终端时钟 >L1 = 12 = {0b001100xx, 0b00000000} >规约标志位 = 0b01 >所以合成的''长度L'' = {0b00110001, 0b00000000} = {0x31, 0x00} 终端应答报文: | 68 __49 00__ __49 00__ 68 | 88 77 77 01 00 02 0C 63 00 00 02 00 28 27 13 15 26 09 | 90 16 | 报文全长26字节,其中''用户数据长度L1''为18字节。 AFN=0CH,Fn={02,00}应答终端时钟:28秒、27分、13时、15日、周一、6月、09年 >L1 = 18 = {0b010010xx, 0b00000000} >规约标志位 = 0b01 >所以合成的''长度L'' = {0b01001001, 0b00000000} = {0x49, 0x00}
[img[pictures/tux.jpg]] *真实姓名: 刘群 *所在部门: 中试部 *人生信条: 艰苦奋斗、自立更生 !联系阿群 *电子邮件: [img[pictures/mailto.png]] *手机号码: 13309766316