Tutorial WinCC OA. Bagian 8. Tren

Mari kita animasikan panel Trends yang sudah dibuat (tapi kosong) dengan grafik perubahan variabel dari waktu ke waktu. Namun, sebelum melihat tren, mereka perlu dikonfigurasi dan beberapa cara mengatur nilai sehingga mereka terakumulasi dalam database. Sistem perlu memiliki variabel yang mengubah nilainya. Anda harus menutup konfigurasi yang sesuai pada variabel ini agar nilainya ditambahkan ke arsip. Untuk tipe titik data Flap, kami memiliki DPE bernama Flow dan ketik int. DPE ini akan digunakan untuk mengenal tren. Untuk mensimulasikan perilaku sistem, kita telah membuat model skrip kontrol. Saya mengusulkannya dan menggunakannya untuk mensimulasikan laju aliran. Mari buka skrip Model:





, « » ( C) main(). main() , DPE - (callback-), main , callback-.





main :





main()
{
  dpConnect("OnOpen_CB1", "System1:Flap1.Commands.Open");
  dpConnect("OnOpen_CB2", "System1:Flap2.Commands.Open");
  dpConnect("OnOpen_CB3", "System1:Flap3.Commands.Open");

  for (;;) {
    dpSet("System1:Flap1.Inputs.Flow", rand());
    dpSet("System1:Flap2.Inputs.Flow", rand());
    delay(1);
  }
}
      
      



DPE callback ( for(;;)), 1 2, 1 delay. main , CTRL-.





(, — dpSet, . , ).





CTRL- ( ) , , para.





. Trends. Trend gedi.









— . — Value over value «» . — , X — , Y — . , — , . , .





Append — . Curve ()





… #1_1, :





… ( , ) #1_2. Close. Trends





Trends Main, TRENDS. , - , , … .





, , ( ), . , «». , X , , . , , . , . «- , », «1:1» , .





«» ruler:





Shift , .. « ».





, . . . .. . , .





, , . , , .. . para. Flap1.Input.Flow _archive.





Archive Settings. _archive, .





:





, :





, (, ) . WinCC OA Oracle. 3.17 InfluxDB, , NextGen . . ( ) . , . « » -, . , , «». ( , «» ) , - . , , — . , . NextGen InfluxDB, , , , «».





, , . ValueArchive_0000.





Active, Apply.





. Main, , , :





, — . , . , , . «Active» «Apply».





, ( , ) - . - SQL-. WinCC OA SQL Query. ( gedi Module) System Management.





Reports:





SQL-Query. ALL Value type ( , ).





SELECT DPE, . , , « — », . — originalvalue originalstime. Configuration Elements of the SELECT Statements «Append» «Insert», . . , .





From , .





, Flap* Elements of the FROM statement.





Data:





Create query, Start query, .





. - SQL-. Main EXPORT.





Click . SQL-, SQL-query :





dpQuery. dpQuery dpGet , , SQL-, , dpGet . — SQL. , WinCC OA — dyndynanytype. . , , — . , .





main(mapping event)
{
  dyn_dyn_anytype Tab;
  dpQuery("SELECT ALL '_original.._value', '_original.._stime' FROM 'Flap*'", Tab);
}
      
      



Tab, - . Log Viewer DebugN. , . . — DebugN , «» . , , . — , . , — , , , . , DebugN , , , . , .





Akhirnya, pengendali tombol EKSPOR terlihat seperti ini:





main(mapping event)
{
  dyn_dyn_anytype Tab;
  dpQuery("SELECT ALL '_original.._value', '_original.._stime' FROM 'Flap*'", Tab);
  DebugN("SQL", Tab);

}
      
      



Setelah menyimpan skrip, mulai lagi jendela Utama untuk dieksekusi. Mari kita temukan jendela Log Viewer (selalu terbuka secara otomatis saat sistem dimulai), kosongkan keluaran log dengan tombol "silang" untuk kenyamanan kita:





Tekan tombol EKSPOR saat runtime dan lihat output di log:





Pembongkaran tersebut ternyata sangat besar, dan tidak semuanya diperlihatkan bahwa LogViewer secara jujur ​​melaporkan:





Ini memalukan, tapi logis. Mengeluarkan teks beberapa megabyte ke jurnal bukanlah pilihan yang baik. Dalam praktiknya, variabel Tab dapat diurai dan dimainkan dengan matematika Anda. Anda dapat menampilkan informasi dalam tabel dan sebagainya.








All Articles