[질문]측정기의 동작에 간단한 스크립트 처리 기능을 부여하고

uribery의 이미지

안녕하세요.
측정기의 동작을 제어할 수 있는 스크립트를 작성해서,
입력을 하면 그에 따라서 동작하도록 하고 싶습니다.
명령 자체는 그리 복잡하지 않습니다.

몇초 간격으로 측정
입력값이 기준값을 초과하면 출력(lcd 화면, 또는 LED 점등)
등의 기능이 들어갈것 같습니다.

어떤 자료를 보면서 하면
잘 동작하는 스크립트 처리기(?)를 작성할 수 있을까요?

그럼 좋은 하루 보내세요~ ^^

lnrd의 이미지

안녕하세요..
문제가 애매해서 정확한 답을 하기 힘드네요...
일단 측정기와 컴터가 어떻게 연결되어 있는지가 중요한데,
간단한 방법으로 병렬 포트를 이용하는 방법이 있습니다. io channel 이 많지 않고, 느리게 작동해도 되는 경우, 간단하게 하는 게 중요한 경우 적합합니다. 이경우... 스크립트는 모르겠고, c 를 이용하시면 간단한 프로그램을 만들 수 있습니다. wiki 에 관련된 내용이 있으니 찾아 보시면 되겠네요...
그외에 isa 를 이용하는 경우라면... 이것도 프로그래밍은 병렬포트하고 비슷하게 간단히 할 수 있지만, card를 만들어야 하는 군요.
pci 경우는 잘모르고...
usb 는 일단 리눅스에서 사용할 수 있는 라이브러리가 필요한데, 프로그래밍이나 회로 만드는 거나 다 쉽지 않습니다... 돈도 많이 들고요..
직렬포트는 개인적으로 다루어 본적이 없어서 모르겠네요..

uribery의 이미지

안녕하세요.
답변 감사드립니다.
제가 좀 애매하게 질문을 했나보네요~ ^^;

측정장비는 따로 독립적으로 동작할 수 있습니다.
대략 최소 1s 단위로 작업을 설정할수 있으면 되구요.

예를들어서 오실로 스코프가 있을때,
1초 간격으로 ch1의 데이터를 저장하고
10초 간격으로 ch2의 데이터를 저장하고 하는 작업을
스크립트 형식으로 작성해서 넣어보고 싶습니다.

task1
주기:1s
동작:ch1데이터저장

task2
주기:10s
동작:ch2 데이터저장

(물론ch1, ch2의 데이터 저장 기능은 따로 구현하구요)
위와 같은 식으로 스크립트를 작성하는 경우,
측정장비에서 어떤 식으로 해석해서 처리하는 것이 가장 좋을까요?

운영체제?, 컴파일러? 등등에서 어떤 부분을 참조하는것이 바른길을 찾을 수 있을까요?

그럼 좋은 하루 보내세애~

lnrd의 이미지

말씀드린것과 같이 쉘스크립트로는 io port 를 제어할 수 있는 방법이 있는지는 잘 모르겠습니다.
이 정도라면 isa 카드나 병렬 포트를 이용하시는 것이 좋을 것 같고요.
isa 는... 일단 요즘 컴터가 isa 를 지원을 안하니까 생략하고.. (저도 해본지가 오래되어서 잘 기억이 안납니다. --;;; 대략 병렬 포트 프로그램하고 비슷하지만요)
병렬포트와 관련해서는 wiki 에 http://wiki.kldp.org/wiki.php/LinuxdocSgml/IO-Port-Programming 를 보시면 되겠습니다. 이건 C 를 기반으로 하는 것이고요... 여기에 보면 셀에서고 /dev/port 를 이용함으로써 제어가 가능하다고 되어 있는데, 자세한 레퍼런스를 찾기 힘드네요.
병렬 포트에서 out 으로 쓸수 있는게 8channel 있으니 한 비트는 스코프의 1번 채널, 다른 한 비트는 2번 채널을 구동하는 신호를 주는 식으로 프로그램은 쉽게 만들수 있을 겁니다.
문제는... 이 신호를 받아서 스코프나 기타 측정기에 전달해 주는 interface card 를 직접 만드셔야 하는 것인데요... 이건 측정기가 어떤것인지 모르니 여기 물어보셔도 별로 도움받을 수 있는 게 없겠네요.
오실로 스코프 말씀 하셨는데, 오실로스코프는 대게 GPIB 를 지원하는데요.. 요즘 최신 스코프나 아주 구형 스코프는 이게 잘 지원이 안되지만 적당히 몇년된 좋은 스펙의 스코프라면 대게 지원을 합니다. 이걸 사용하실려면 물론 GPIB interface card 가 있어야 할거고요.. 그런데 이것도 꽤 고가인것으로 알고 있습니다.
GPIB card 가 있으시면 스코프 메뉴얼을 잘 보세요. 스코프를 GPIB 를 통해 제어하는 방법이 나와 있을 겁니다. 저희 실험실에서도 이 방법으로 실험을 많이 합니다만, 제가 관련되어 있지 않아서 자세히는 모릅니다... 이걸 쓰신다면 스코프를 고속으로 제어하는 것도 가능할 겁니다. (수백Hz로 데이터를 받아 오실 수 있을 겁니다)

별로 도움이 안된것 같네요.. ㅠㅠ

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.