3BSE000743R1輸出框架
即使在通道命令設(shè)置為發(fā)出單個發(fā)送。
示例發(fā)送周期計算:如果Word 10包含值3,則指定秒作為時間單位,并且字11包含值20,則發(fā)送周期為20秒。發(fā)送通常在每個發(fā)送周期開始時發(fā)出。如果待轉(zhuǎn)移發(fā)送期間未完成,信道錯誤位和詳細信道
狀態(tài)字將被設(shè)置為指示非致命周期錯誤。待轉(zhuǎn)移可以在周期錯誤發(fā)生后仍然完成。對于設(shè)置為發(fā)出的通道命令:多次發(fā)送,下一次傳輸將僅在掛起傳輸之后發(fā)出完成。
設(shè)置為發(fā)出單個發(fā)送的通道命令只能有一個掛起的發(fā)送轉(zhuǎn)移
如果時間單位數(shù)為零,則在上一次傳輸完成;信道錯誤位不報告周期錯誤。
(Word 12)每次發(fā)送的超時:Word 12指定時間(以第二)FIP總線控制器將在設(shè)置前等待發(fā)送傳輸完成
通道錯誤位和詳細的通道狀態(tài)位,用于指示非致命超時錯誤即使發(fā)生超時,傳輸仍然可以完成。因此應(yīng)用程序可以選擇發(fā)生這種情況時要做什么。
如果超時值被指定為零,不會報告超時錯誤。
對于大多數(shù)應(yīng)用,不需要指定超時,充當超時。(字12應(yīng)為零表示無超時。)然而,有兩個
建議指定超時的特殊情況:A、 當時間單位數(shù)(字11)為零時,后續(xù)傳輸將
在上一次轉(zhuǎn)賬完成且無期間錯誤時立即發(fā)出報道。在這種情況下,可以指定超時值,以便超時錯誤為由信道錯誤位報告。
B、 當發(fā)送周期非常長時(分鐘或小時)。在這種情況下,超時時間較短可以指定該值,以便總線控制器狀態(tài)位的If位9(信道錯誤)指示信道錯誤
程序可以從總線控制器請求詳細的通道狀態(tài)數(shù)據(jù)。(該命令對總線控制器狀態(tài)位的值沒有影響)。
返回此數(shù)據(jù)時,第一個單詞將包含一個錯誤代碼,指示原因錯誤。請參閱附錄B中的表格,了解主要和次要的完整列表錯誤代碼。第二個字將指示信道是活動還是空閑
riod is in effect even when the Channel
Command is set up to issue a single send.
Example Send Period Calculation: If Word 10 contains a value of 3 specifying
seconds as the time unit and Word 11 contains a value of 20, then the send period is
20 seconds.
A send will normally be issued at the start of each send period. If the pending transfer
has not completed during the send period, the Channel Error bit and Detailed Channel
Status words will be set to indicate a non-fatal period error. The pending transfer can
still complete after the period error occurs. For Channel Commands set up to issue
multiple sends, the next transfer will be issued only after the pending transfer
completes.
A Channel Command set up to issue a single send can have only one pending send
transfer.
If the Number of Time Units is zero, a subsequent transfer will be issued as soon as the
previous transfer completes; no period errors are reported by the Channel Error bit.
(Word 12) Timeout for Each Send: Word 12 specifies the time (in hundredths of a
second) the FIP Bus Controller will wait for a send transfer to complete before setting
the Channel Error bit and Detailed Channel Status bits to indicate a non-fatal timeout
error. The transfer can still complete even after a timeout occurs. As a result, an
application can choose what to do if one occurs. If the timeout value is specified as zero,
no timeout errors will be reported.
For most applications a timeout need not be specified because the send period, in effect,
acts as a timeout. (Word 12 should be zero for no timeout.) However, there are two
special circumstances in which specifying a timeout is recommended:
A. When the number of time units (word 11) is zero, so that a subsequent transfer will
be issued as soon as the previous transfer completes and no period errors are
reported. In this case a timeout value can be specified so that timeout errors will be
reported by the Channel Error bit.
B. When the send period is very long (minutes or hours). In this case a shorter timeout
value can be specified so the a If bit 9 (Channel Error) of the Bus Controller Status bits indicates a channel error, the
program can request Detailed Channel Status data from the Bus Controller. (The
command has no effect on the value of the Bus Controller Status bits).
When this data is returned, the first word will contain an error code indicating the cause
of the error. Refer to the tables in Appendix B for a complete listing of major and minor
error codes.
The second word will indicate whether the channel is active or idle