Sunday 9 July 2017

Berputar Putar Rata


Kontak dan Coil Hampir Dalam Kontrol Cobalah ini untuk ukuran: Kami sudah mengotomatisasi selama ratusan tahun sekarang. Revolusi industri menyebabkan migrasi pekerja dari pertanian ke kota-kota untuk bekerja di pabrik, dan pekerja yang mengungsi oleh teknologi baru akan menemukan pekerjaan baru yang bahkan tidak pernah ada beberapa tahun yang lalu. Saya berasumsi jika Anda membaca artikel ini bahwa Anda terlibat dalam otomasi dalam beberapa cara, jadi Anda benar-benar ingin mempercayai pernyataan itu, dan berdebat melawan apa yang orang ingin percaya tidak ada gunanya. Aku akan melakukannya juga. Pernyataan itu salah. Kali ini memang berbeda. Untuk menjelaskan ini, saya ingin Anda mempertimbangkan apa yang memotivasi orang di sini di kelas 8220west8221. Pada dasarnya kita memiliki beberapa bentuk kapitalisme yang diatur. Untuk merebusnya, itu berarti Anda bisa memiliki barang sendiri, dan Anda diperbolehkan menyimpan sebagian dari hasil yang dihasilkan dari hal-hal itu. Ini benar-benar berlaku untuk hampir semua dari kita, bahkan jika kebanyakan orang tidak memikirkannya seperti itu. Ini jelas bagi seorang petani: Anda memiliki tanah, bangunan, dan peralatan, Anda menumbuhkan sesuatu dan menjualnya, dan setelah pajak Anda berharap bisa mendapatkan semacam keuntungan. Ok, mungkin pertanian bukanlah contoh bagus karena ada begitu banyak subsidi pemerintah yang terlibat, namun prinsipnya sama dengan pemilik usaha kecil, bahkan karyawan. Karyawan Sebagian besar karyawan menganggap diri mereka sebagai kapitalis karena mereka tidak dapat melihat modal yang mereka gunakan untuk menghasilkan keuntungan, tapi juga di sana di cermin. Anda adalah modal sendiri. Sejak penghapusan, ini adalah modal yang tidak dapat diambil seseorang dari Anda. Ini adalah jaring pengaman sosial pertama dan utama. Tidak peduli seberapa sedikit uang Anda, kecuali penyakit atau kelemahan, Anda memiliki telur sarang modal dasar yang selalu Anda dapat menarik dari untuk bootstrap hidup Anda. Kebanyakan orang salah mengira modal untuk uang, dan itu sebabnya mereka tidak menganggap dirinya sebagai ibu kota. Lagi pula, Anda bisa sendiri, Anda bisa kembali, ratusan tahun lagi, Anda bisa melakukannya. Kebanyakan budak di sekitar Mediterania ratusan tahun yang lalu adalah budak karena mereka menanggung hutang yang tidak dapat mereka bayar, jadi mereka menjadi milik siapa pun yang mereka berutang, sampai mereka bisa menyelesaikan hutang mereka. Jika membantu, pikirkanlah tubuh manusia sebagai mesin yang mengubah makanan menjadi beberapa hal berguna yang lebih berharga daripada makanan. Petani mengubah sejumlah kecil makanan menjadi makanan dalam jumlah yang lebih banyak. Tukang kayu mengubah makanan dan kayu menjadi rumah atau perabotan. Fisika kuantum mengubah makanan menjadi transistor dan laser, dan Anda, pembaca yang baik, mungkin Anda adalah mesin yang mengubah makanan menjadi program PLC. Pada gilirannya, kita memperdagangkan barang-barang ini untuk berbagai hal bermanfaat yang telah diciptakan orang lain. Kapitalisme. Sekarang, saya adalah seorang penggemar kapitalisme yang diatur karena itu cara yang efisien untuk mengatur banyak mesin (kita) menghasilkan banyak barang berharga seperti mobil, rumah dan episode Game of Thrones. Sekarang ini bagian anehnya. Ada banyak insentif untuk menggunakan modal Anda untuk mendapatkan lebih banyak modal, yang kemudian dapat Anda gunakan untuk memperoleh lebih banyak modal, dan seterusnya, namun sangat sedikit orang yang melakukan hal ini. Anda akan berpikir bahwa seseorang yang menyelesaikan 13 tahun sekolah pada usia 18 tahun, bekerja 47 tahun dan pensiun pada usia 65 tahun, membuat, rata-rata upah sederhana 30.000 per tahun pada dolar sekarang akan memiliki Pandangan ke depan untuk menyelamatkan sebagian dari 1,4 juta itu untuk masa pensiun mereka, tapi jelas bahwa banyak orang tidak. Sebenarnya ada banyak orang dengan pendapatan yang jauh lebih tinggi daripada yang tidak hanya tidak menyimpannya, tapi juga melakukan hutang yang signifikan dan juga menyatakan kebangkrutan atau menjadi budak virtual ke perusahaan kartu kredit. Ini sangat umum dan memiliki biaya negatif bagi masyarakat sehingga pemerintah benar-benar memaksa pekerja untuk menyelamatkan sebagian gaji mereka setiap minggu ke dalam program pensiun pemerintah dan kemudian membayarnya gaji ketika mereka pensiun. Saya tidak akrab dengan cara kerjanya di Amerika Serikat, namun di Kanada ini disebut Rencana Pensiun Kanada, dan didukung oleh sesuatu yang disebut Jaminan Hari Tua yang dimulai beberapa tahun kemudian. Ini terlepas dari kenyataan bahwa siapa pun yang repot-repot menundukkan diri dari gaji bersih mereka selama seluruh karir mereka menjadi rencana penghematan pensiun yang terlindung oleh pemerintah dan menginvestasikannya dalam reksa dana akan menjamin masa pensiun yang nyaman jauh lebih nyaman daripada tinggal di pensiun pemerintah. . Sekarang sebagian dari diriku berpikir ini baik-baik saja: Anda membuat tempat tidur Anda, sekarang berbaring di dalamnya. Tapi ini mempengaruhi semua orang, bahkan kapitalis terkaya sekalipun. Pelayanan pemerintah yang paling dasar adalah yang paling dibutuhkan orang kaya: militer, polisi (hukum pidana) dan penegakan kontrak (hukum perdata). Ketiga layanan pemerintahan inilah yang memberi orang kemampuan untuk memiliki barang. Militer melindunginya dari ancaman eksternal, polisi melindunginya dari orang-orang di dalam negeri (pencuri dan pengacau), dan hukum perdata menyelesaikan perselisihan tentang siapa pemilik apa. Kami terus mendengar bahwa ketidaksetaraan kekayaan adalah hal yang buruk, tapi itu benar sekali benar. Jika sistem kita bekerja, ia harus memberi penghargaan kepada orang-orang yang melakukan hal-hal yang lebih berharga dengan lebih banyak uang, jadi satu-satunya cara untuk mendapatkan persamaan pendapatan adalah jika setiap orang melakukan sesuatu yang sama-sama berharga, dan kita tidak melakukannya. Harus ada cara bagi saya untuk menghasilkan lebih banyak uang dengan bekerja lebih keras, lebih cerdas, atau berbeda dari saya sekarang. Itu insentif untuk menjadi lebih produktif. Sebenarnya, itulah yang benar-benar penting: apakah rata-rata orang percaya bahwa mereka dapat memperbaiki pendirian mereka Karena jika mereka melakukannya, mereka menjadi tidak dapat diatur dan melakukan hal-hal liar dan gila. Hal-hal yang membuat orang kaya tidak nyaman karena di barat orang-orang yang sulit diatur benar-benar bisa benar-benar mengacaukan pemerintah yang menyediakan semua layanan militer, polisi, dan sipil yang mereka andalkan. Bayangkan Anda bekerja di sebuah pabrik di Midwest A. S. yang membuat AC. Kemungkinannya, Anda tidak menganggap diri Anda sebagai mesin yang mengubah makanan menjadi pendingin udara. Anda tidak memikirkan bagaimana membuat mesin itu lebih efisien, atau lebih berharga. Anda sudah bekerja 6 hari seminggu, dan keluarga Anda tidak pernah melihat Anda. Yang Anda tahu adalah bahwa cepat atau lambat orang yang mengendarai BMW mewah akan memindahkan pekerjaan Anda ke negara lain, atau mengganti Anda dengan robot, dan karena semua tanaman lain di sekitar sini telah ditutup, Anda mungkin tidak dapat mengirimnya. Anakmu ke perguruan tinggi Bagaimana perasaan Anda Mungkin Anda cenderung memilih politisi yang berjanji akan menghukum perusahaan yang memindahkan pabrik mereka ke Meksiko. Menurut saya inti permasalahannya adalah bahwa pekerja ini tidak tahu apa yang harus dilakukan. Insentifnya masih ada: pelajari keterampilan baru, investasikan diri Anda, jadilah lebih produktif. Tapi hanya sedikit orang yang melakukannya, karena alasan yang sama dengan sedikit orang yang menabung untuk masa pensiun mereka sendiri. Saya menghabiskan beberapa tahun di sekitar orang-orang yang telah menjalankan usaha kecil, dan saya mencoba untuk memperhatikannya. Butuh waktu bertahun-tahun untuk benar-benar mengerti bahwa tidak ada yang ajaib dalam menjalankan bisnis. Itu karena, seperti kebanyakan orang lain, saya dibesarkan dengan gagasan bahwa para jenius inovatif menghasilkan gagasan baru yang cemerlang dan memulai perusahaan yang menghasilkan miliaran dolar. Di luar beberapa kasus kecil, itu tidak benar. Lihatlah dengan cukup keras dan Anda bisa menemukan industri yang diminati dan berkembang. Jika permintaannya tinggi, akan selalu ada perusahaan di industri yang berjalan buruk namun tetap menghasilkan keuntungan. Anda bisa menghasilkan uang hanya dengan melakukan hal yang sama seperti orang lain dan sama sekali tidak menjadi yang terburuk dalam hal itu. Begitulah cara kerja kapitalisme 8211 memberi Anda insentif untuk menyediakan produk dan layanan yang sesuai permintaan. Saya memiliki keluarga yang dipecat bertahun-tahun yang lalu. Ada sebuah program pekerjaan dimana mereka memberinya kelas tentang bagaimana memulai bisnis kecil. Dia belajar bagaimana menyimpan buku, menulis faktur, dan bagaimana melakukan pajaknya. Mereka mengaitkannya dengan pinjaman usaha kecil. Beberapa bulan kemudian dia menjalankan bisnisnya sendiri dan beberapa tahun setelah itu dia mempekerjakan seorang karyawan. Kini dia memiliki kesempatan untuk berinvestasi pada dirinya sendiri, seperti membeli peralatan yang lebih baik dan meningkatkan kemampuannya. Katakanlah Anda seorang pemrogram PLC. Perusahaan Anda mungkin membayar Anda lebih dari 50.000 setahun. Berapa banyak yang mereka keluarkan di komputer Anda Apakah mereka murah? Apakah masuk akal untuk mengurangi sumber daya 50.000 tahun dengan laptop murah Jika Anda berada dalam bisnis untuk diri sendiri, Anda akan segera menyadari bahwa ada banyak hal yang dapat Anda investasikan dalam hal itu. Anda pemrogram PLC yang lebih efisien atau berharga, tapi komputer yang lebih cepat adalah no-brainer. Otomatisasi meningkatkan produktivitas dan dengan truk penggerak sendiri dan sistem pakar yang dikembangkan, tingkat peningkatan produktivitas akan meledak. Namun, ini adalah investasi yang mahal dan tidak ada cara bagi pekerja yang mengungsi untuk memanfaatkan otomasi ini. Jika saya memberi supir truk truk yang lebih besar, mereka menghasilkan nilai lebih per mil yang ditempuh, tapi jika saya mengganti driver dengan komputer, mereka sama sekali tidak memiliki nilai. Peningkatan produktivitas berhenti menghasilkan upah yang lebih tinggi di awal 708217s. Seorang teller bank membuat hal yang sama sekarang seperti yang mereka lakukan saat itu (disesuaikan dengan inflasi) meskipun sebagian besar pekerjaan paksa telah dibongkar ke ATM. Sebenarnya, ATM memungkinkan bank membuka cabang yang lebih kecil dan permintaan teller ke staf cabang-cabang tersebut benar-benar meningkatkan jumlah teller, namun meski mengotomatisasi tugas sederhana dan meningkatkan permintaan untuk teller, mereka tidak lagi menghasilkan upah. Orang yang sama yang saat ini menyalahkan imigrasi dan outsourcing karena masalah mereka segera menyadari bahwa otomasi adalah apa yang benar-benar memakan makan siang mereka. Berbeda dengan revolusi industri di mana para pekerja yang kehilangan tempat tinggal dapat berpartisipasi dalam ekonomi baru ini dengan beralih dari pertanian ke pekerjaan pabrik, selama pekerja transisi ini akan kehilangan pekerjaan mereka dan harus benar-benar keterampilan kembali, atau paling tidak mereka akan mempertahankan pekerjaan mereka tapi tidak melihat Lebih banyak untuk meningkatkan produktivitas mereka. Itu karena otomasi lama membuat orang lebih berharga, namun otomasi baru tampaknya membuat mereka kurang berharga. Itu berarti ia mendevaluasi satu bit modal yang mereka miliki. Di sinilah seseorang biasanya menyarankan pendapatan dasar yang universal sehingga setiap orang dapat berbagi dalam peningkatan produktivitas tanpa semua orang berkontribusi padanya. I8217m tidak yakin jumlahnya bertambah. Yang sangat kami butuhkan adalah mendorong gagasan melihat diri Anda sebagai modal, bukan sebagai karyawan. Insentif dan jaring pengaman bagi orang-orang yang memulai usaha kecil seharusnya lebih murah dan lebih efektif daripada membayar orang untuk duduk di rumah. Bagaimana cara mengajar hal ini di sekolah (saya kira guru sangat tidak tahu apa-apa tentang memulai bisnis). Bagaimana agar lebih mudah memulai bisnis daripada meneruskan bantuan sosial Bagaimana cara membuat pelatihan keterampilan dalam permintaan gratis I8217m senang kita membicarakan hal ini karena ini penting. Banyak hal ini terkait dengan apa yang terjadi di dunia saat ini. Ada perasaan umum bahwa generasi berikutnya tidak akan sebaik generasi orangtua mereka, dan hal itu belum pernah terjadi sebelumnya. Itu janji bahwa setiap orang bisa membuat sesuatu dari dirinya sendiri tergelincir pergi, dan kita membutuhkannya kembali. Kapsul dan Kumparan Hampir Terkendali. Tutorial TwinCAT 3: Teks Terstruktur TwinCAT 3 mencakup kelima bahasa IEC-61131-3: Ladder Diagram, Structured Text, Function Block Diagram, Sequential Function Chart, dan Instruction List. Jika Anda berasal dari dunia Allen-Bradley maka Diagram Ladder jelas akan menjadi bahasa Anda yang paling nyaman, tapi saya harap Anda juga ingin memanfaatkan Structured Text. Sebenarnya, Beckhoff sendiri secara khas menyajikan Structured Text sebagai bahasa masuk untuk pemrograman di TwinCAT 3. Saya lebih suka menulis sebagian besar program saya di Ladder Diagram karena alasan yang jelas: kemudahan pemecahan masalah, dan kemampuan listrik untuk online dengan Program dan debug itu. Namun, kita tidak dapat melupakan pepatah lama itu, menggunakan alat yang tepat untuk pekerjaan itu, 8221 dan ada kalanya Structured Text adalah alat yang tepat, dan Ladder Diagram tidak. Structured Text memiliki kesamaan dengan Pascal atau BASIC (setidaknya setelah mereka menghapus konsep nomor baris dari BASIC). Fitur terstruktur dari Structured Text untuk kita adalah LOOP s. FOR Loop Bayangkan sejenak bahwa Anda memiliki serangkaian seribu nilai data REAL dan Anda ingin menghitung rata-rata nilai tersebut. Rumusnya cukup sederhana: tambahkan saja dan bagi dengan 1000. Tentunya ini menghadirkan beberapa kesulitan pada Ladder Diagram, namun dalam Structured Text, kita bisa menggunakan loop FOR. Mulailah dengan membuat fungsi baru. Sebut saja AverageOf1000 dan pastikan Anda memilih fungsi dengan tipe pengembalian REAL. Dan Structured Text (ST) pada kotak drop-down Bahasa Implementasi: Klik Open. Sekarang Anda memiliki fungsi Structured Text yang kosong: Kita bisa melewatkan array sebagai masukan, tapi jika Anda mengingat dari bagian terakhir, itu berarti menyalin keseluruhan array setiap kali fungsi ini dipanggil, yang dapat berdampak negatif pada waktu pindaian. Ini lebih baik untuk melewati struktur data besar seperti ini dengan referensi, yang berarti kita mendeklarasikannya sebagai variabel VARINOUT: Selanjutnya nyatakan beberapa variabel lokal: satu untuk menyimpan jumlah nilai, dan satu lagi menjadi indeks untuk menyimpan tempat yang akan kita tuju Array. Sekarang kita bisa menulis logika kita, yang terdiri dari loop FOR dan operasi pembagian: On line 1 menginisialisasi nilai variabel Sum to 0. Perhatikan bahwa: operator berarti assignment. Ini menghitung ekspresi di sebelah kanan (RValue) dan menyimpannya di variabel di sebelah kiri (LValue). Perhatikan juga bahwa setiap pernyataan diakhiri dengan tanda titik dua. Ini penting dan Anda akan mendapatkan kesalahan sintaks jika Anda tidak memasukkannya (pengecualiannya adalah tanda titik dua di akhir baris 4, yang opsional, namun sering disertakan dalam banyak contoh Teks Terstruktur). Baris 2 dan 4 mendefinisikan loop FOR. Baris 2 mendefinisikan variabel indeks loop (disebut Index dalam kasus ini), diikuti oleh sebuah simbol tugas (:). Ini berarti variabel Indeks akan mengambil nilai dari 1 sampai 1000 dan BY 1 berarti akan dihitung dengan 1. Baris antara 2 dan 4 adalah apa yang akan dieksekusi dengan setiap nilai Index. Jika Anda melihat runtime menjalankan logika ini, yang Anda lihat adalah: kira-kira: Set Index to 1 Execute line 3 Set Index ke 2 Execute line 3 Set Index ke 3 Execute line 3 Set Index ke 4 Execute line 3 Set Index to 5 Jalankan baris 3 8230 Set Index to 999 Execute line 3 Set Index to 1000 Execute line 3 Seperti yang Anda lihat, loop dapat memiliki dampak signifikan pada waktu pemindaian, terutama karena jumlah iterasi menjadi tinggi. Jika Anda menjalankan TwinCAT 3 di PC modern, berarti 1000 iterasi tidak terlalu buruk, tapi menjalankan satu juta iterasi pada PC 2 GHz kemungkinan akan memakan waktu minimal 0,5 milidetik, dan itu tidak melakukan apa-apa dalam lingkaran. Anda harus sadar akan hal ini dan program yang sesuai. Jika Anda menghitung rata-rata daftar 100 pembacaan sensor terakhir, jangan khawatir, tapi jika Anda melakukan perhitungan matematis pada ribuan titik data, perhatikan bahwa mungkin terlalu banyak pekerjaan yang harus dilakukan dalam satu waktu pemindaian. Baris 5 mengambil Jumlah dan membagi dengan 1000, menugaskan hasilnya ke nilai pengembalian fungsi. Perhatikan bahwa saya menambahkan titik desimal ke nilai 1000.0 dan saya melakukan ini untuk mengingatkan pembaca bahwa I8217m berurusan dengan bilangan floating point di sini. Ini adalah pilihan gaya. Anda tidak perlu melakukannya. WHILE Loop (dan IFTHENELSE Blocks) Tipe loop lainnya adalah loop WHILE. Alih-alih menjalankan sejumlah waktu tetap seperti loop FOR, dapat dijalankan selama beberapa kondisi benar. Misalnya, kita ingin menemukan indeks pertama dalam sebuah array dimana nilainya lebih besar dari beberapa nilai: Tujuan dari fungsi ini adalah untuk mencari sebuah array dengan nilai 1000 dan mengembalikan indeks pertama dimana nilainya lebih besar daripada beberapa Threshold . Jika tidak menemukan nilai lebih besar dari Threshold maka ia mengembalikan 0, yang merupakan indeks yang tidak valid. Baris 1 menginisialisasi bendera boolean, Found. Untuk FALSE Karena ini adalah fungsi, itu tidak benar-benar diperlukan karena nilainya akan diinisialisasi dengan false setiap kali Anda memanggil fungsinya, tapi jika ini adalah blok fungsi, Anda pasti ingin memasukkan garis itu karena nilainya akan ditahan dari panggilan telepon. . Baris 2 menginisialisasi variabel Indeks ke indeks array pertama (1). Baris 3 dan 9 mendefinisikan loop WHILE. Baris 4 sampai 8 akan dieksekusi berulang-ulang selama ekspresi di baris 3 kembali benar. Seperti yang Anda lihat, kita mengulangi sampai kita menemukannya, atau Index melewati batas atas array. Baris 4 sampai 8 terdiri dari blok IFTHENELSE. Jika ungkapan di baris 4 benar, maka ia mengeksekusi baris 5. Jika ungkapan pada baris 4 salah, maka ia mengeksekusi baris 7. Untuk mendemonstrasikan bagaimana ini bekerja, asumsikan nilai dalam array adalah 25, 50, 75, 100, 125, dll. Asumsikan juga Ambang adalah 80. Kami mengharapkan fungsi untuk mengembalikan nilai dari 4. Berikut ini bagaimana fungsi dijalankan: Baris 2 set Index ke 1 Line 3 mengevaluasi true karena Found is false dan Index adalah 1 Line 4 mengevaluasi false (25 tidak lebih dari 80) Baris 7 set Index to 2 Line 3 mengevaluasi true karena Found is false and Index is 2 Baris 4 mengevaluasi ke false (50 tidak lebih besar dari 80) Baris 7 set Indeks ke 3 Line 3 mengevaluasi ke true karena Found is false dan Index adalah 3 Line 4 mengevaluasi false (75 tidak lebih dari 80) Baris 7 set Index to 4 Line 3 mengevaluasi true karena Found is false dan Index adalah 4 Line 4 yang mengevaluasi true (100 lebih besar dari 80) Line 5 sets Found to true Line 3 mengevaluasi false karena Found is true Line 11 mengevaluasi ke true Line 12 set the Nilai kembalian dari fungsi ke 4 (karena Indeks memiliki nilai 4) Meskipun ini adalah fungsi yang sangat masuk akal, th Ada juga beberapa masalah dengan itu. Pertama-tama, waktu pemindaian cukup bervariasi. Waktu pemindaian kasus terburuk adalah ketika nilai tidak ditemukan, dan mengembalikan 0. Dalam kasus itu, iterasi melalui keseluruhan array. Dalam kasus terbaik, hal itu akan kembali 1. Waktu pemindaian variabel dapat menyebabkan masalah jika kasus terburuk tidak pernah diuji, atau jika Anda memiliki banyak fungsi seperti ini dan di sana ada beberapa kasus jahat yang membuat mereka semua harus melakukan kasus terburuk di Scan yang sama, dan Anda melebihi waktu pemindaian yang Anda inginkan. Kedua, logika itu rumit. Beberapa dari Anda mungkin menertawakan saya karena mengatakan itu. Jika Anda seorang programmer PC menulis kode di C atau BASIC maka fungsi di atas sebenarnya cukup sederhana, namun dalam pemrograman PLC kita memiliki penekanan yang tidak biasa pada kesederhanaan. Kami menginginkan logika yang jelas benar saat kita melihatnya, dan fungsi di atas jelas tidak benar kecuali jika Anda memberikan analisis dalam jumlah yang signifikan. Untuk menganalisisnya, Anda benar-benar harus memotret komputer8221 dan melewati setidaknya 2 skenario yang berbeda: satu di mana nilai ditemukan, dan satu di tempat yang tidak ditemukannya. Sebelumnya di bagian ini saya berbicara tentang mengharapkan teknisi listrik online untuk mengikuti program kami dan melakukan pemecahan masalah. Tukang listrik bisa memahami Diagram Tangga, dan dengan sedikit kerja, mereka mungkin bisa memahami contoh FOR loop di atas, tapi akan banyak orang yang tidak mampu memahami contoh loop WHILE ini dengan blok IFTHENELSE. Jika Anda yakin orang-orang ini tidak memiliki bisnis online dengan PLC, sebaiknya Anda mengubah sikap Anda. Otomasi adalah olahraga tim dan kami tidak memiliki ruang untuk tim ego besar. Gunakan logika paling sederhana yang mungkin Anda bisa (bukan yang terpendek). Jika mesin yang Anda gunakan memiliki 10 motor, jangan mencoba menulis logika startstop motor pada Structured Text dengan loop FOR. Don8217t bahkan membuat blok fungsi dan menggunakannya kembali sebanyak 10 kali. Tuliskan 10 program berbeda di Ladder Diagram dan salin logika. Tentu mereka mungkin berbagi beberapa logika umum, seperti kumparan OkToRunMotors yang dipasang di program lain. Ingat bahwa ini adalah 10 motor yang berbeda secara fisik dan kondisi untuk memulai dan menghentikannya cenderung berubah seiring waktu. Kenali itu dan jaga agar logika terpisah. Di sisi lain, Structured Text adalah alat yang tepat untuk log-log dan logika penanganan program. Seorang tukang listrik masuk ke PLC untuk memahami mengapa sebuah motor tidak mulai memperhatikan modul penebangan acara. Structured Text juga merupakan alat yang tepat untuk memanipulasi data, seperti pemindaian yang diterima dari pemindai kode batang atau pembaca RFID. Matematika kompleks juga lebih mudah diekspresikan dalam Structured Text. Menggunakan alat yang tepat untuk pekerjaan berarti memperhitungkan lebih dari masalah itu sendiri. Pastikan Anda mengambil kapabilitas tim dan kemampuan pelanggan Anda juga. Loop pada Input Seorang programmer pemula akan menulis ini: Perhatikan bagaimana kita melakukan perulangan pada sebuah masukan. Masukan adalah input fisik dunia nyata. Itu hanya berubah saat pemindaian IO terjadi. Saat runtime mengeksekusi logika ini, ia akan memasuki loop dan berpotensi tidak pernah keluar, dan tidak satu pun dari sisa program Anda akan dieksekusi lagi. Mesin akan tampak membeku, output akan tetap berada dalam kondisi terakhir mereka, dan hal buruk akan terjadi. Cukup, jika Anda menggunakan input sebagai kondisional dalam lingkaran WHILE, maka Anda tidak memiliki pemahaman yang baik tentang bagaimana runtime PLC bekerja, dan Anda harus berhenti dan kembali ke awal. Kebanyakan PLC bekerja dengan membaca masukan fisik ke dalam memori, menjalankan logika program, dan menyalin nilai keluaran baru ke keluaran fisik aktual (yang merupakan penyederhanaan dan tidak berlaku untuk semua PLC, tapi ini adalah model yang bagus untuk memulai) Dan kemudian melakukannya lagi dan lagi. Jumlah waktu yang diperlukan untuk melakukan semua itu adalah waktu pindaian Anda, dan kami ingin waktu pemindaian menjadi sesingkat mungkin. Menyebabkan program memasukkan sebuah lingkaran yang menunggu masukan untuk dihidupkan pada dasarnya akan menghentikan program. Dalam beberapa kasus, hal itu juga akan mencegah pemindaian IO terjadi, jadi tidak mungkin masukan itu untuk mengubah keadaan lagi. Mesin akan membeku selamanya. Diagram Tangga tidak memberi Anda pilihan untuk menembak diri sendiri di kaki seperti ini, tapi Teks Terstruktur tidak. Jauhi loop tak terbatas. Mixing Ladder Diagram dan Structured Text I8217 telah menunjukkan kepada Anda bagaimana Anda bisa menulis program, fungsi, dan blok fungsi dalam Structured Text, tapi kadang-kadang bagus untuk menambahkan sedikit Teks Terstruktur di tengah program Tangga Tangga Anda. Ternyata sebuah program dapat menyertakan sesuatu yang disebut Tindakan (seperti sub-program lokal mini yang dapat Anda hubungi dari program Anda) dan Tindakan dapat ditulis dalam bahasa implementasi yang berbeda dari pada program orang tua. Untuk menambahkan Tindakan. Klik kanan pada program Ladder Diagram yang ada dan pilih Add-Action8230 dari menu konteks. Yang harus Anda masukkan hanyalah sebuah Nama dan pilih Bahasa Implementasi. Pilih Teks Terstruktur. Tindakan baru akan muncul di Solution Explorer di bawah program Anda. Action memiliki akses ke semua deklarasi (input, output, dan variabel lokal) dari program induk atau POU. Anda bisa memanggil Action seperti program lainnya: cukup tambahkan satu blok dan masukkan nama Action. Fungsi String Fungsi String dapat digunakan di kedua Ladder Diagram dan Structured Text, namun ketika Anda mulai melakukan manipulasi string yang rumit maka saya sarankan untuk pindah ke Structured Text karena bisa lebih mudah dimengerti. Berikut adalah fungsi string khas Anda dan apa yang mereka lakukan: LEN (s) 8211 mengembalikan jumlah karakter pada string s LEFT (s, n) 8211 mengembalikan n karakter paling kiri dari string s, atau return s jika n LEN (s ) KANAN (s, n) 8211 mengembalikan n karakter paling kanan dari string s, atau mengembalikan s jika n LEN (s) MID (s, n, p) 8211 mengembalikan n karakter dari string s, dimulai dari posisi p (pertama Karakter nomor 1, bukan 0) CONCAT (s1, s2) 8211 mengembalikan string s1 dan s2 join (concatenated) bersama INSERT (s1, s2, p) 8211 mengembalikan string baru yang dibentuk dengan memasukkan s2 ke s1 pada posisi p DELETE , N, p) 8211 kebalikan dari MID. Mengembalikan string s dengan karakter n mulai dari posisi p dihapus REPLACE (s1, s2, n, p) 8211 menggabungkan DELETE dan INSERT 8211 menghilangkan n karakter dari s1 mulai dari posisi p, dan menggantinya dengan s2 FIND (s1, s2) 8211 Mengembalikan posisi string s2 dalam string s1, atau 0 jika tidak ditemukan, dan bersifat case sensitive Anda bisa, tentu saja, membuat fungsi string Anda sendiri. Misalnya, mungkin berguna untuk memiliki fungsi ganti yang berbeda yang membutuhkan 3 string: string untuk dicari, string yang akan ditemukan, string untuk mengganti semua contoh string yang ditemukan dengan: Perhatikan bagaimana variabel dinyatakan sebagai TMaxString sebagai gantinya. Dari STRING 8230 STRING Keterbatasan Karena variabel dialokasikan secara statik di TwinCAT 3, bila Anda menentukan variabel STRING, Anda harus menyatakan panjangnya. Secara implisit ini adalah 80 karakter, dan menggunakan memori 81 byte (80 untuk data dan satu byte untuk terminator null). String dibatasi hingga 255 karakter. Ada tipe spesifik yang disebut TMaxString yang merupakan alias untuk STRING (255). Hati-hati karena TwinCAT 3 diam-diam akan memotong string dengan panjang maksimum yang ditentukan dari string tujuan saat Anda melakukan tugas. Bila Anda membuat fungsi string Anda sendiri, Anda harus menggunakan TMaxString sebagai tipe variabel untuk memastikannya bekerja dengan string yang dikirimkan kepada mereka. Jika Anda tidak, variabel input dan output akan diam-diam dipotong sesuai dengan panjang yang Anda tentukan. Kesimpulan Structured Text adalah alat yang hebat. Dalam beberapa PLC, seperti garis Allen-Bradley ControlLogix, Anda harus membayar ekstra untuk editor Teks Terstruktur, namun dengan TwinCAT 3 Anda mendapatkannya secara gratis. (Sebenarnya, Anda juga bisa mendapatkan editor Tangga Tangga secara gratis8230) Dengan kekuatan besar datanglah tanggung jawab yang besar. Gunakan kekuatan baru Anda dengan bijak dan hemat. Saat memprogram PLC, prioritas pertama adalah kebenaran dan prioritas kedua adalah keterbacaan. Tidak ada yang mendapat poin karena menulis lebih sedikit baris kode. Ingat bahwa. Komentar ditutup.

No comments:

Post a Comment