亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? monitor.clp

?? 一個有關專家系統(tǒng)的CLISP 源代碼
?? CLP
字號:

;;;======================================================
;;;   Monitoring Program
;;;
;;;     This program was introduced in Section 12.5.
;;;
;;;     CLIPS Version 6.0 Example
;;;
;;;     To execute, merely load, reset and run.
;;;======================================================

(defmodule MAIN (export ?ALL))

(deftemplate MAIN::device 
   (slot name (type SYMBOL))
   (slot status (allowed-values on off)))
  
(deffacts MAIN::device-information
  (device (name D1) (status on))
  (device (name D2) (status on))
  (device (name D3) (status on))
  (device (name D4) (status on)))

(deftemplate MAIN::sensor 
   (slot name (type SYMBOL)) 
   (slot device (type SYMBOL))
   (slot raw-value (type SYMBOL NUMBER)
                    (allowed-symbols none)
                    (default none))
   (slot state (allowed-values low-red-line 
                               low-guard-line
                               normal
                               high-red-line
                               high-guard-line)
                (default normal))
   (slot low-red-line (type NUMBER))
   (slot low-guard-line (type NUMBER))
   (slot high-guard-line (type NUMBER))
   (slot high-red-line (type NUMBER)))

(deffacts MAIN::sensor-information
  (sensor (name S1) (device D1)
          (low-red-line 60) (low-guard-line 70)
          (high-guard-line 120) (high-red-line 130))
  (sensor (name S2) (device D1)
          (low-red-line 20) (low-guard-line 40)
          (high-guard-line 160) (high-red-line 180))
  (sensor (name S3) (device D2)
          (low-red-line 60) (low-guard-line 70)
          (high-guard-line 120) (high-red-line 130))
  (sensor (name S4) (device D3)
          (low-red-line 60) (low-guard-line 70)
          (high-guard-line 120) (high-red-line 130))
  (sensor (name S5) (device D4)
          (low-red-line 65) (low-guard-line 70)
          (high-guard-line 120) (high-red-line 125))
  (sensor (name S6) (device D4)
          (low-red-line 110) (low-guard-line 115)
          (high-guard-line 125) (high-red-line 130)))

(deffacts MAIN::cycle-start
  (data-source user)
  (cycle 0))

(defrule MAIN::Begin-Next-Cycle
   ?f <- (cycle ?current-cycle)
   =>
   (retract ?f)
   (assert (cycle (+ ?current-cycle 1)))
   (focus INPUT TRENDS WARNINGS))

(defmodule INPUT (import MAIN ?ALL))

(defrule INPUT::Read-Sensor-Values-From-Sensors
  (data-source sensors)
  ?s <- (sensor (name ?name)
                (raw-value none)
                (device ?device))
  (device (name ?device) (status on))
  =>
  ;(modify ?s (raw-value (get-sensor-value ?name)))
  )

(defrule INPUT::Get-Sensor-Value-From-User
  (data-source user)
  ?s <- (sensor (name ?name) 
                (raw-value none) 
                (device ?device))
  (device (name ?device) (status on))
  =>
  (printout t "Input value for sensor " ?name ": ")
  (bind ?raw-value (read))
  (if (not (numberp ?raw-value))
      then (halt)
      else (modify ?s (raw-value ?raw-value))))

(deftemplate INPUT::fact-data-for-sensor 
   (slot name)
   (multislot data))

(deffacts INPUT::sensor-fact-data-values 
  (fact-data-for-sensor (name S1)
     (data 100 100 110 110 115 120))
  (fact-data-for-sensor (name S2)
     (data 110 120 125 130 130 135))
  (fact-data-for-sensor (name S3)
     (data 100 120 125 130 130 125))
  (fact-data-for-sensor (name S4)
     (data 120 120 120 125 130 135))
  (fact-data-for-sensor (name S5)
     (data 110 120 125 130 135 135))
  (fact-data-for-sensor (name S6)
     (data 115 120 125 135 130 135)))

(defrule INPUT::Read-Sensor-Values-From-Facts 
  (data-source facts)
  ?s <- (sensor (name ?name) 
                (raw-value none))
  ?f <- (fact-data-for-sensor 
                (name ?name) 
                (data ?raw-value $?rest))
  =>
  (modify ?s (raw-value ?raw-value))
  (modify ?f (data ?rest)))

(defrule INPUT::No-Fact-Data-Values-Left
  (data-source facts)
  (sensor (name ?name) 
          (raw-value none))
  (fact-data-for-sensor (name ?name) (data))
  =>
  (printout t "No fact data for sensor " ?name crlf)
  (printout t "Halting monitoring system" crlf)
  (halt))

(defrule INPUT::Open-File-With-Sensor-Values
  (data-source file)
  (not (data-file-open))
  =>
  (bind ?flag file-closed)
  (while (eq ?flag file-closed)
    (printout t "What is the name of the data file? ")
    (bind ?file-name (readline))
    (if (open ?file-name data-file "r") 
       then (bind ?flag true)))
  (assert (data-file-open)))

(defrule INPUT::Read-Sensor-Values-From-File
  (data-source file)
  (data-file-open)
  (cycle ?time)
  =>
  (bind ?name (read data-file))
  (if (eq ?name EOF) then (halt))
  (while (and (neq ?name end-of-cycle)
              (neq ?name EOF))
     (bind ?raw-value (read data-file))
     (if (eq ?raw-value EOF) then (halt))
     (assert (raw-sensor-value ?name ?raw-value))
     (bind ?name (read data-file))
     (if (eq ?name EOF) then (halt))))

(defrule INPUT::Remove-Values-For-Inactive-Sensors
  (data-source file)
  (data-file-open)
  (cycle ?time)
  (sensor (name ?name) (device ?device))
  (device (name ?device) (status off))
  ?data <- (raw-sensor-value ?name ?raw-value)
  =>
  (retract ?data))

(defrule INPUT::Transfer-Sensor-Values-To-Sensors 
  (data-source file)
  ?s <- (sensor (name ?name) 
                (raw-value none)
                (device ?device))
  (device (name ?device) (status on))
  ?f <- (raw-sensor-value ?name ?raw-value)
  =>
  (modify ?s (raw-value ?raw-value))
  (retract ?f))

(defmodule TRENDS (import MAIN ?ALL))

(defrule TRENDS::Normal-State
  ?s <- (sensor (raw-value ?raw-value&~none)
                (low-guard-line ?lgl)
                (high-guard-line ?hgl))
  (test (and (> ?raw-value ?lgl) (< ?raw-value ?hgl)))
  =>
  (modify ?s (state normal) (raw-value none)))

(defrule TRENDS::High-Guard-Line-State
  ?s <- (sensor (raw-value ?raw-value&~none)
                (high-guard-line ?hgl)
                (high-red-line ?hrl))
  (test (and (>= ?raw-value ?hgl) (< ?raw-value ?hrl)))
  =>
  (modify ?s (state high-guard-line) (raw-value none)))
  
(defrule TRENDS::High-Red-Line-State
  ?s <- (sensor (raw-value ?raw-value&~none)
                (high-red-line ?hrl))
  (test (>= ?raw-value ?hrl))
  =>
  (modify ?s (state high-red-line) (raw-value none)))

(defrule TRENDS::Low-Guard-Line-State
  ?s <- (sensor (raw-value ?raw-value&~none)
                (low-guard-line ?lgl)
                (low-red-line ?lrl))
  (test (and (> ?raw-value ?lrl) (<= ?raw-value ?lgl)))
  =>
  (modify ?s (state low-guard-line) (raw-value none)))

(defrule TRENDS::Low-Red-Line-State
  ?s <- (sensor (raw-value ?raw-value&~none)
                (low-red-line ?lrl))
  (test (<= ?raw-value ?lrl))
  =>
  (modify ?s (state low-red-line) (raw-value none)))

(deftemplate MAIN::sensor-trend
   (slot name) 
   (slot state (default normal))
   (slot start (default 0)) 
   (slot end (default 0))
   (slot shutdown-duration (default 3)))

(deffacts MAIN::start-trends
  (sensor-trend (name S1) (shutdown-duration 3))
  (sensor-trend (name S2) (shutdown-duration 5))
  (sensor-trend (name S3) (shutdown-duration 4))
  (sensor-trend (name S4) (shutdown-duration 4))
  (sensor-trend (name S5) (shutdown-duration 4))
  (sensor-trend (name S6) (shutdown-duration 2)))

(defrule TRENDS::State-Has-Not-Changed
  (cycle ?time)
  ?trend <- (sensor-trend (name ?sensor) 
                          (state ?state)
                          (end ?end-cycle&~?time)) 
  (sensor (name ?sensor) (state ?state)
          (raw-value none))
  =>
  (modify ?trend (end ?time)))

(defrule TRENDS::State-Has-Changed
  (cycle ?time)
  ?trend <- (sensor-trend (name ?sensor) 
                          (state ?state)
                          (end ?end-cycle&~?time))
  (sensor (name ?sensor) 
          (state ?new-state&~?state)
          (raw-value none))
  =>
  (modify ?trend (start ?time) 
                 (end ?time) 
                 (state ?new-state)))

(defmodule WARNINGS (import MAIN ?ALL))

(defrule WARNINGS::Shutdown-In-Red-Region
  (cycle ?time)
  (sensor-trend 
     (name ?sensor) 
     (state ?state&high-red-line | low-red-line))
  (sensor (name ?sensor) (device ?device))
  ?on <- (device (name ?device) (status on))
  =>
  (printout t "Cycle " ?time " - ")
  (printout t "Sensor " ?sensor " in " ?state crlf)
  (printout t "   Shutting down device " ?device
              crlf)
  (modify ?on (status off)))
  
(defrule WARNINGS::Shutdown-In-Guard-Region
  (cycle ?time)
  (sensor-trend 
      (name ?sensor)
      (state ?state&high-guard-line | low-guard-line) 
      (shutdown-duration ?length)
      (start ?start) (end ?end))
  (test (>= (+ (- ?end ?start) 1)  ?length))
  (sensor (name ?sensor) (device ?device))
  ?on <- (device (name ?device) (status on))
  =>
  (printout t "Cycle " ?time " - ")
  (printout t "Sensor " ?sensor " in " ?state " ")
  (printout t "for " ?length " cycles "
              crlf) 
  (printout t "   Shutting down device " ?device
              crlf)
  (modify ?on (status off)))

(defrule WARNINGS::Sensor-In-Guard-Region
  (cycle ?time)
  (sensor-trend 
      (name ?sensor) 
      (state ?state&high-guard-line | low-guard-line)
      (shutdown-duration ?length)
      (start ?start) (end ?end))
  (test (< (+ (- ?end ?start) 1) ?length))
  =>
  (printout t "Cycle " ?time " - ")
  (printout t "Sensor " ?sensor " in " ?state crlf))

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品久久午夜| 欧美草草影院在线视频| 久久久久国产精品人| 国产午夜精品福利| 一区二区免费视频| 国产成a人亚洲| 一本一道综合狠狠老| 精品国产乱码久久久久久久久| 亚洲免费观看视频| 国产激情视频一区二区在线观看| 欧美视频一区二区在线观看| 久久亚洲一区二区三区明星换脸| 亚洲国产综合视频在线观看| 国产精品一区二区在线观看不卡 | 久久男人中文字幕资源站| 亚洲精品视频观看| 青青草精品视频| 91啦中文在线观看| 日韩一二三区视频| 亚洲欧美日韩国产另类专区| 国产精品一区二区久激情瑜伽| 欧美男人的天堂一二区| 国产精品久久二区二区| 国产最新精品精品你懂的| 欧美亚洲一区二区三区四区| 亚洲国产成人午夜在线一区| 婷婷成人激情在线网| 成人精品一区二区三区四区| 制服丝袜中文字幕亚洲| 一区二区三区中文字幕电影| 国产成人av一区二区三区在线 | 国产精品久久午夜夜伦鲁鲁| 麻豆91在线看| 在线综合+亚洲+欧美中文字幕| 18成人在线观看| 国产69精品久久久久毛片| 日韩精品在线一区| 五月激情综合婷婷| 91福利国产精品| 成人欧美一区二区三区小说| 成人一区二区三区在线观看| 精品区一区二区| 免费美女久久99| 欧美精品乱码久久久久久按摩| 一区二区三区四区蜜桃| 91在线无精精品入口| 中文一区在线播放| 国产suv一区二区三区88区| 日韩欧美国产午夜精品| 日本欧美一区二区| 91麻豆精品国产91久久久久| 午夜国产精品影院在线观看| 欧美三级三级三级| 亚洲国产日韩综合久久精品| 欧美亚洲动漫另类| 一区二区欧美视频| 欧美中文字幕一区二区三区亚洲| 一区二区三区在线视频免费| 国产成人av福利| 国产欧美日韩中文久久| 成人教育av在线| 精品国产凹凸成av人导航| 极品少妇一区二区三区精品视频 | 青娱乐精品视频| 日韩欧美国产不卡| 久久国产精品99久久久久久老狼| 日韩精品一区二区三区视频| 极品少妇xxxx精品少妇偷拍| 久久久亚洲综合| 国产一区999| 中文字幕乱码日本亚洲一区二区| 国产一区欧美一区| 国产精品私房写真福利视频| 不卡一卡二卡三乱码免费网站| 欧美经典一区二区三区| 成人av网站在线观看免费| 一区二区高清免费观看影视大全 | 成人黄页毛片网站| 亚洲第一成人在线| 久久人人超碰精品| 91麻豆福利精品推荐| 日韩电影在线观看电影| 国产亚洲短视频| 欧美性猛交xxxx乱大交退制版| 青青草精品视频| 中文字幕佐山爱一区二区免费| 欧美精品第一页| 成人国产精品免费观看视频| 亚洲成人动漫一区| 国产人成亚洲第一网站在线播放| 在线观看av一区| 国产一区二区导航在线播放| 亚洲最新在线观看| 久久久一区二区三区捆绑**| 欧美亚洲图片小说| 国产成人一级电影| 婷婷综合在线观看| 中文字幕一区二区三区色视频| 欧美精品日韩综合在线| a级高清视频欧美日韩| 免费在线观看一区| 亚洲美女免费在线| 久久久久久久久99精品| 欧美美女激情18p| 成人免费毛片app| 六月丁香综合在线视频| 日韩伦理电影网| 久久久精品国产免大香伊 | 福利一区二区在线| 亚洲国产成人av| 国产精品久久久久永久免费观看 | 中文字幕不卡在线观看| 欧美一区二区三区男人的天堂| 91免费视频网址| 国产东北露脸精品视频| 日本成人在线看| 亚洲一区二区在线播放相泽| 国产女人aaa级久久久级 | 91捆绑美女网站| 国产精品69久久久久水密桃 | 亚洲一区在线看| 国产精品女同一区二区三区| 欧美www视频| 欧美日韩视频第一区| av在线综合网| 国产精品66部| 黄色资源网久久资源365| 日韩精品亚洲一区| 亚洲成人激情av| 一区二区三区在线视频免费| 国产精品久久久久aaaa| 国产三级一区二区三区| 日韩欧美一级二级三级| 在线不卡免费av| 在线亚洲人成电影网站色www| 99天天综合性| 成年人午夜久久久| 东方欧美亚洲色图在线| 国产激情一区二区三区四区| 狠狠色综合日日| 九九精品一区二区| 麻豆91小视频| 久久精品国产精品亚洲精品| 日本午夜精品一区二区三区电影| 香蕉成人伊视频在线观看| 亚洲丶国产丶欧美一区二区三区| 一区二区三区在线观看视频| 亚洲精品自拍动漫在线| 亚洲激情图片一区| 亚洲精选免费视频| 一区二区三区日韩欧美精品| 亚洲人成7777| 亚洲综合在线第一页| 亚洲一区二区在线免费看| 一区二区免费视频| 亚洲一区二区在线观看视频| 亚洲伊人色欲综合网| 亚洲伊人伊色伊影伊综合网| 亚洲国产精品嫩草影院| 一区二区免费在线| 亚洲电影视频在线| 日韩电影在线一区二区三区| 蜜桃一区二区三区在线| 精品一区二区三区不卡| 国产精品中文字幕日韩精品| 粉嫩13p一区二区三区| av成人老司机| 欧美在线短视频| 91精品婷婷国产综合久久性色 | 日韩午夜av电影| 日韩美女天天操| 国产亚洲视频系列| 欧美高清在线精品一区| 中文字幕精品一区二区精品绿巨人| 国产精品看片你懂得| 一区二区三区毛片| 香蕉加勒比综合久久| 捆绑紧缚一区二区三区视频| 国内精品久久久久影院薰衣草| 国产成人综合网| 色美美综合视频| 91精品国产综合久久婷婷香蕉| 精品99一区二区三区| 中文字幕在线不卡一区二区三区| 一区二区三区加勒比av| 性做久久久久久久免费看| 国内精品伊人久久久久av一坑| www.亚洲免费av| 欧美日韩亚洲综合在线 欧美亚洲特黄一级| 91精品国产日韩91久久久久久| 久久九九99视频| 亚洲欧美日韩精品久久久久| 天天综合天天做天天综合| 国内精品在线播放| 91麻豆产精品久久久久久| 日韩一二三区不卡| 国产精品欧美极品| 日韩激情中文字幕| 国产精品1区二区.| 欧美综合色免费|